zoukankan      html  css  js  c++  java
  • JDBC(3)—ResultSet结果集

    • 简介:ResultSet:结果集。封装了使用JDBC进行查询的结果。Statement只能进行更新操作,所以使用ResultSet进行查询操作。
      • 1.调用Statement对象的executeQuery(sql),可以得到结果集。
      • 2.ResultSet返回的实际上就是一张数据表,有一个指针指向第一个的前面,可以调用next(),检查下一行是否有效。
        *若有效返回true,且指针下移。
      • 3.每当指针移到一行时,可以通过调用getXxx(index)、getXxx(columnName)、获取每一列的值,例如:getInt(1)
        *getString(“name”)。
      • 4.ResultSet()也需要关闭。
    • 功能:获取id为6的customer数据表的记录,并打印。
    • 步骤:

      • 1.获取Connection连接
      • 2.获取Statement对象
      • 3.准备SQL语句
      • 4.执行查询,使用executeQuery(sql)方法
      • 5.处理ResultSet
      • 6.关闭数据库连接
    • 实例:

    public class Resultset_3 {
    
    
        @Test
        public void testResultSet(){
            Connection conn = null;
            Statement state = null;
            ResultSet rs = null;
            try {
                //1.获取连接
                conn = TestTools.getConnection();
                //2.获取Statement
                state = conn.createStatement();
                //3.准备SQL语句
                //查询一条记录
                String sql = "select id, name, age, birth,address " +
                        "from customers where id = 6 "; 
                //查询所有记录
                String sql1 = "select id, name, age, birth,address " +
                        "from customers"; 
                //4.执行查询
                rs = state.executeQuery(sql1);
                System.out.println(rs);
                //5.处理ResultSet
                //if(rs.next()){
                while(rs.next()){
                    int id = rs.getInt(1);//参数1表示:id在第一列
                    String name = rs.getString(2);//参数2表示:name在第二列
                    //String name = rs.getString("name");//参数name表示:别名
                    String age = rs.getString(3);//参数3表示:age在第三列
                    Date birth = rs.getDate(4);//参数4表示:birth在第四列
                    String address = rs.getString(5);//参数5表示:aadress在第五列
                    //输出查询结果
                    System.out.println(id);
                    System.out.println(name);
                    System.out.println(age);
                    System.out.println(birth);
                    System.out.println(address);
                }
            } catch (SQLException e) {
                e.printStackTrace();
            } catch (Exception e) {
                e.printStackTrace();
            }finally{
                if(rs != null){
                    try {
                        rs.close();
                    } catch (SQLException e) {
                        e.printStackTrace();
                    }
                }
                if(state != null){
                    try {
                        state.close();
                    } catch (SQLException e) {
                        e.printStackTrace();
                    }
                }
                if(conn != null){
                    try {
                        conn.close();
                    } catch (SQLException e) {
                        e.printStackTrace();
                    }
                }
            }
        }
    }
  • 相关阅读:
    Qt共享内存实现进程间通信(QSharedMemory)
    Qt5.5制作简单的屏幕截图程序
    006--C++动态内存(简介)
    005--C++字符
    004--C++11的初始化方式
    003--sizeof的使用
    002--C++程序的创建
    001--基础知识准备
    Qt5.5连接MySQL
    vue-cli中如何创建并引入自定义组件
  • 原文地址:https://www.cnblogs.com/tengpengfei/p/10454022.html
Copyright © 2011-2022 走看看