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(); } }