jdbc -3- ResultSet

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对于给定声明取得结果的途径

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值