流浪のwolf

卷帝

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

JDBC后端实现查询功能逻辑

复制代码
// 包名
package com.zhulx.JDBC;

// 导入实例类
import com.zhulx.pojo.Account;

import java.sql.*;
import java.util.ArrayList;
import java.util.List;

/**
 *  JDBC 快速入门
 * **/
public class JDBC02 {
    // throws Exception 说明此方法不会处理异常
    public static void main(String[] args) throws Exception {
        // TODO 把查询到的数据都放到ArrayList 【 返回给前端的数据 】
        // 1. 注册驱动 【 固定写法 】

        /**
         * JDBC 常用接口和类
         * (1) Driver 接口:加载驱动程序。
         * (2) DriverManager 类:装人所需的 JDBC 驱动程序,编程时调用它的方法来创建连接。
         * (3) Connection 接口:编程时使用该类对象创建 Statement 对象。
         * (4) Statement 接口:编程时使用该类对象得到 ResultSet 对象。
         * (5) ResultSet 类:负责保存 Statement 执行后所产生的查询结果。
         *
         * */

        /**
         * 任务:
         * 查询account账户数据,封装Account对象中,并且存储到ArrayList中
         * 1. 定义实体类Account 【就是有get和set函数的类就是实体类】
         * 2. 查询数据,封装到ArrountList中
         * 3. 将Account对象 存入ArrayList集合中
         * ArrayList就是我返回给前端的数据是 【 对象数组 】
         */
        // Class.forName("com.mysql.cj.jdbc.Driver");


        // 2. 获取连接 【 就是关联数据库 】 访问  test 数据库
        String url = "jdbc:mysql://127.0.0.1:3306/test";
        String username = "root";
        String password = "abc123";
        Connection conn =  DriverManager.getConnection(url, username, password);

        // 3. 定义 sql  DQL
        String sql = "select * from account";

        // 4. 获取执行 sql 对象 statement
        Statement stmt = conn.createStatement() ;
        // 创建集合
        List<Account> List;

        List = new ArrayList<>();

        System.out.println(List);
        // 5. 执行 sql  【返回值是受影响的行数】
        ResultSet rs  = stmt.executeQuery(sql);

        // 6. 处理结果遍历 rs 所有的数据
        while(rs.next()) {
            // ps: 1 2 3 都是行数
            // 获取数据  每查询一个数据就创建一个对象然后放到数组里面
            Account account = new Account();
            System.out.println(account);
            int id = rs.getInt(1);
            String name = rs.getString(2);
            double money = rs.getDouble(3) ;

            // 赋值
            account.setId(id);
            account.setName(name);
            account.setMoney(money);

            // 存入集合
            List.add(account);
        }

        System.out.println(List);

        // 7. 释放资源
        stmt.close();
        conn.close();
        rs.close();
    }
}
复制代码

 

posted on   朱龙旭的网络  阅读(34)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· Blazor Hybrid适配到HarmonyOS系统
· 支付宝 IoT 设备入门宝典(下)设备经营篇
· 万字调研——AI生成内容检测
· 解决跨域问题的这6种方案,真香!
· 一套基于 Material Design 规范实现的 Blazor 和 Razor 通用组件库
点击右上角即可分享
微信分享提示