ResultSet(结果集对象)作用:
封装了SQL查询语句的结果。而执行了DQL语句后就会返回该对象,对应执行DQL语句的方法如 下: ResultSet executeQuery(sql):执行DQL 语句,返回 ResultSet 对象 那么我们就需要从 ResultSet 对象中获取我们想要的数据。
ResultSet 对象提供的操作查询结果数据的方法:
1、 boolean next() 将光标从当前位置向前移动一行 判断当前行是否为有效行 方法返回值说明: true : 有效航,当前行有数据 false : 无效行,当前行没有数据
2、 xxx getXxx(参数):获取数据 xxx : 数据类型;如: int getInt(参数) ;String getString(参 数) 参数 int类型的参数:列的编号,从1开始 String类型的参数: 列的名称
具体代码实现:
public void testResultSet() throws Exception {
//1. 注册驱动
//Class.forName("com.mysql.jdbc.Driver");
//2. 获取连接:如果连接的是本机mysql并且端口是默认的 3306 可以简化书写
String url = "jdbc:mysql:///你创建的数据库名称?useSSL=false";
String username = "root";
String password = "你的密码";
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);
//6. 处理结果, 遍历rs中的所有数据
// 6.1 光标向下移动一行,并且判断当前行是否有数据
while (rs.next()){
//6.2 获取数据 getXxx() 注:这里的Xxx需要对应你的数据库表中字段的类型要一致
int id = rs.getInt("id");
String name = rs.getString("name");
double money = rs.getDouble("money");
System.out.println(id);
System.out.println(name);
System.out.println(money);
System.out.println("--------------");
}
//7. 释放资源
rs.close();
stmt.close();
conn.close(); //由内到外进行释放资源
}