JDBC-API详解-ResultSet2

发布时间 2023-06-15 09:34:49作者: Karlshell

 

package Test;

import org.junit.Test;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import java.util.TimerTask;

public class JDBCdemo4_ResultSet2 {
    /*
    * 查询test账户表数据,封装为Test对象种,并储存到ArrayList集合中
    * 1.定义实体类Test
    * 2.查询,封装到Test对象种
    *3.将Test对象存入ArrayList集合中
    *
    * */
    @Test
    public void testResultSet() throws Exception {//DQL查询语句
        //1.注册驱动
        //Class.forName("com.mysql.jdbc.Driver");
        //2.获取连接
        String url = "jdbc:mysql:///test?useSSL=false";
        String username = "root";
        String password = "1234";
        Connection conn = DriverManager.getConnection(url, username, password);
        //3.定义sql
        String sql="select * from test";
        //4.获取statement对象
        Statement stmt = conn.createStatement();
        //5.执行sql
        ResultSet rs = stmt.executeQuery(sql);

        //创建集合
        List<pojo.Test> list=new ArrayList<>();

        //6.处理结果,遍历rs中所有的数据
        //6.1光标向下移动一行,并且判断当前行是否有数据
        while (rs.next()){
            //得到对象
            pojo.Test test= new pojo.Test();
            //6.2获取数据 getXxx()
            int id = rs.getInt("id");
            String name = rs.getNString("name");
            double money = rs.getDouble("money");

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

            //存入集合
            list.add(test);
        }
        System.out.println(list);
        //7.释放资源
        rs.close();
        stmt.close();
        conn.close();
    }

}