一、ResultSet[结果集]
1.表示数据库结果集的数据表,通常通过执行查询数据库的语句生成。
2.ResultSet对象保持一个光标指向其当前的数据行,最开始光标在第一行。
3.next方法将光标移动到下一行,由于在ResultSet对象中没有更多行时返回false,可以在while循环中使用循环来遍历结果集。
package com.jun.jdbc.resultset;
import java.io.FileInputStream;
import java.sql.*;
import java.util.Properties;
/**
* select语句返回ResultSet,取出结果
*/
public class ResultSet01 {
public static void main(String[] args) throws Exception {
//通过Properties对象获取配置文件信息
Properties properties = new Properties();
properties.load(new FileInputStream("src\\mysql.properties"));
//获取到相关值
String user = properties.getProperty("user");
String password = properties.getProperty("password");
String driver = properties.getProperty("driver");
String url = properties.getProperty("url");
Class.forName(driver);
Connection connection = DriverManager.getConnection(url, user, password);
//得到Statement
Statement statement = connection.createStatement();
//sql语句
String sql ="select id,name,sex,borndate from actor";
//执行sql语句,该语句返回单个,ResultSet对象
/*
+----+------+-----+---------------------+
| id | name | sex | borndate |
+----+------+-----+---------------------+
| 1 | tom | 男 | 1945-05-06 00:00:00 |
| 2 | jack | 男 | 1986-06-07 00:00:00 |
+----+------+-----+---------------------+
*/
ResultSet resultSet = statement.executeQuery(sql);
//使用while取出数据
while (resultSet.next()){//让光标向后移动,没有更多就返回false
int id = resultSet.getInt(1);//得到第一行
String name = resultSet.getString(2);//得到第二行
String sex = resultSet.getString(3);
Date date = resultSet.getDate(4);
System.out.println(id+"\t"+name+"\t"+sex+"\t"+date);
}
//关闭连接
resultSet.close();
statement.close();
connection.close();
}
}