java如何实现JDBC连接数据库,循环遍历表中内容并实现存进ArrayList集合中?

1.先在项目中创建数据库表字段对应的实体类:

public class Account {
    private int id;
    private String name;
    private double money;
//写出getter和setter方法:
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public double getMoney() {
        return money;
    }
    public void setMoney(double money) {
        this.money = money;
    }
//
    @Override
    public String toString() {
        return "Account{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", money=" + money +
                '}';
    }

2.在你的中JDBCdemo类中main方法中链接数据库实现:

        2.1.jdbc操作数据库七步曲搭好壳子(我自己随便说的七步曲:注册驱动、获取连接、定义sql、获取statement对象、执行sql、获取返回值、 释放资源)

        2.2在while循环中实例化对象:

Account account = new Account();

        2.3.在while循环外面创建集合:

List<Account> list = new ArrayList<>();

        2.4.获取数据并给对象赋值:

        int id = rs.getInt("id");
        String name = rs.getString("name");
        double money = rs.getDouble("money");
            account.setId(id);
            account.setName(name);
            account.setMoney(money);

        2.5.利用add()方法将对象存进集合中: list.add(account);

 3.具体代码实现:

  public class JDBCdemo{
    public static void main(String[] args) throws Exception  {
        //1. 注册驱动
        //Class.forName("com.mysql.jdbc.Driver");
        //2. 获取连接:
        String url = "jdbc:mysql:///db1?useSSL=false";
        String username = "root";
        String password = "1234";
        Connection conn = DriverManager.getConnection(url, username, password);
        //3. 定义sql
        String sql = "select * from account"; 
    
    //4. 获取statement对象
    Statement stmt = conn.createStatement();

    //5. 执行sql
    ResultSet rs = stmt.executeQuery(sql);

    // 创建集合
    List<Account> list = new ArrayList<>();

    while (rs.next()){
        Account account = new Account();

        //6.2 获取数据  getXxx()
        int id = rs.getInt("id");
        String name = rs.getString("name");
        double money = rs.getDouble("money");

        //赋值
        account.setId(id);
        account.setName(name);
        account.setMoney(money);
        // 存入集合
        list.add(account);
    }
    System.out.println(list);
    //7. 释放资源
    rs.close();
    stmt.close();
    conn.close();
    }
}
}

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值