博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JDBC(3)ResultSet
阅读量:6716 次
发布时间:2019-06-25

本文共 2149 字,大约阅读时间需要 7 分钟。

ResultSet

在执行查询(select)时候使用

这是一个结果对象,该对象包含结果的方法但指针定位到一行时

调用Statement 对象的 executeQuery(sql)可以得到结果集

可以通过调用getXxx(index) 或getXxx(columnName)获取每一行的值,从1开始

注意使用之后要关闭

 

方法:

->void close() throws SQLException:释放ResultSet方法

->boolean absolute(int row):将结果集的记录指针移动到第row行。

->void beforeFirst():将ResultSet的记录指针定位到首行之前。

->boolean first():将指针移到首行。

->boolean next():将指针记录定位到下一行。

->boolean last():将指针移到最后一行。

->boolean afterLast():将ResultSet的记录定位到最后一行。

 

 以上介绍的方法中经常使用到的是:next()和close()

其他的使用的时候,可以参考介绍的文档,这里主要测试是常用的

 

@Test    public void ResultSetMethod() {        // 获取 id = 4 的 student 数据表的记录,并打印        Connection conn = null;        Statement statement = null;        ResultSet rs = null;        try {            // 1. 获取 Connection            conn = getConnection();            // 2.获取Statement            statement = (Statement) conn.createStatement();            // 3.准备sql            String sql = "SELECT id, sname, sclass from student where id = 4";            // 4.执行查询            rs = statement.executeQuery(sql);            // 5.处理ResultSet            if (rs.next()) {                int id = rs.getInt(1);// 获取数据库的id属性                String name = rs.getString(2);// 获取数据库的 sname属性                int sclass = rs.getInt(3);// 获取数据库的sclass属性                System.out.println(id);                System.out.println(name);                System.out.println(sclass);            }            // 6.关闭        } catch (Exception e) {            e.printStackTrace();        } finally {

        if (rs != null) {

          try {
            rs.close();
        } catch (SQLException e) {
            e.printStackTrace();
          }
        }
        if (statement != null) {
          try {
            statement.close();
        } catch (SQLException e) {
          e.printStackTrace();
        }
        }
        if (conn != null) {
          try {
            conn.close();
        } catch (SQLException e) {
            e.printStackTrace();
          }
        }

}    }

 

 对于executeQuery(sql)主要是执行查询操作

在世用getXxxx的时候,是根据我们查询到的列的属性进行设置分配的(可以理解数据库的每个数据表的列)

在程序的最后,一定要记得关闭释放资源

关闭的流程:由里到外

所谓关闭流程就是:先获取的资源后关闭,后获取的资源先关闭

 

转载于:https://www.cnblogs.com/Mrchengs/p/9780629.html

你可能感兴趣的文章
台湾知名炸鸡连锁店疑供应逾期肉品 遭封存追查
查看>>
澳门2018年入境旅客3580万人次 创记录新高
查看>>
甘肃祁连山加大生态保护 北麓草原冬日现绿头鸭
查看>>
公务员周末送外卖是否违纪?官方暖心回复获网友点赞
查看>>
双星闪耀 上汽大众途岳、全新一代帕萨特联袂亮相
查看>>
监控系统云计算核心技术,主要包括十项技术
查看>>
下半年最值得关注的10个技术公众号
查看>>
MySQL 异步驱动浅析 (一):性能分析
查看>>
理解高性能网络模型
查看>>
提高 JavaScript 开发效率的高级 VSCode 扩展!
查看>>
30岁的你,还在写代码吗?
查看>>
阿里提出联合预估算法JUMP:点击率和停留时长预测效果最优
查看>>
世界杯要来了,AI预测冠军哪家强?
查看>>
代码这样写更优雅 (Python 版)
查看>>
SVG入门—如何手写SVG
查看>>
【面试必备】透过源码角度一步一步带你分析 ArrayList 扩容机制
查看>>
深入理解虚拟机之虚拟机性能监控和故障处理工具
查看>>
写个 vue-loading-template 组件
查看>>
北漂之毕业裁员后的又一波奇遇
查看>>
关于11月比特币现金将添加CTOR事件
查看>>