ResultSet
··············
通过调用 Statement 对象的 excuteQuery() 方法创建该对象
ResultSet 对象以逻辑表格的形式封装了执行数据库操作的结果集,ResultSet 接口由数据库厂商实现
ResultSet 对象维护了一个指向当前数据行的游标,初始的时候,游标在第一行之前,可以通过 ResultSet 对象的 next() 方法移动到下一行
ResultSet 接口的常用方法:
boolean next()
getString()
…
`package connect;
import org.junit.Test;
import javax.swing.;
import java.sql.Connection;
import java.sql.Date;
import java.sql.SQLException;
import java.sql.Statement;
/
ResultSet:结果集,封装了使用JDBC进行查询的结果
1.调用Statement 对象的executeQuery(sql)可以得到结果集
2.ResultSet 返回的实际上就是一张数据表,有一个指针指向数据表的第一行的(前面)
可以调用next()方法检测下一行是否有效,若有效该方法返回true。且指针下移
相当于iterator对象的hasNext,Next方法的结合体
3.当指针对位到一行时,可以调用getXXX(index)或getXXX(columnName)获取每一列的值
4.ResultSet需要关闭
*/
public class ResultSet {
@Test
public void Select() throws SQLException {
//获取id= 4的customer数据表的记录,并打印
Connection connection;
Statement statement;
//1.获取Connection
connection = JDBCTools.getConnection();
//2.Statement
statement = connection.createStatement();
//3.准备SQL
String sql = "SELECT id ,name, email, brith FROM customer";
//4 执行查询,得到ResultSet
java.sql.ResultSet resultSet = statement.executeQuery(sql);
//5.处理ResultSet
while(resultSet.next()){
int id = resultSet.getInt(1);
String name = resultSet.getString("name");
String email = resultSet.getString("email");
String date = resultSet.getString("brith");
System.out.println(id);
System.out.println(name);
System.out.println(email);
System.out.println(date);
}
//6.关闭数据库资源
JDBCTools.disConnect(statement,connection,resultSet);
}
@Test
public void JDBCtools() throws SQLException {
//JDBCTools.Update("DELETE FROM customer WHERE id= 2");
JDBCTools.Update("UPDATE customer SET name = 'arli' WHERE id = 3");
//JDBCTools.Update("INSERT INTO customer (name, email, brith) VALUES (arli,465,0.0)");
java.sql.ResultSet resultSet = JDBCTools.Check("SELECT id ,name, email, brith FROM customer");
while(resultSet.next()){
int id = resultSet.getInt(1);
String name = resultSet.getString("name");
String email = resultSet.getString("email");
String date = resultSet.getString("brith");
System.out.println(id);
System.out.println(name);
System.out.println(email);
System.out.println(date);
}
JDBCTools.disConnect();
}
java.sql.DriverManager用来装载驱动程序,获取数据库连接。
java.sql.Connection完成对某一指定数据库的联接
java.sql.Statement在一个给定的连接中作为SQL执行声明的容器,他包含了两个重要的子类型。
Java.sql.PreparedSatement 用于执行预编译的sql声明
Java.sql.CallableStatement用于执行数据库中存储过程的调用
java.sql.ResultSet对于给定声明取得结果的途径