JDBC_06_处理查询结果集

JDBC处理查询结果集

  *  ResultSet resultSet=null 结果集对象

  *  executeQuery(select) 执行SQL查询语句需要的使用executeQuery方法

  *  int   executeUpdate(insert / delete / update);         ResultSet   executeQuery( select );

  *  boolean   resultSet.next() 方法 返回true/false.  执行到resultSet.next()会往下移动一行,如果下一行有数据那么返回true,没有数据返回false

  *  resultSet.getString(); 方法 获取列数据,括号里可以跟列下标(1  下标从1开始),也可也跟("列名"),使用该方法,无论数据库中的数据是什么类型的,都会自动转换成String类型。

  *  如果查询语句中使用了'别名',那么在getString()方法中需要跟修改后的别名。

  * getString() 和 getNString() 的区别

         - getString()无论底层数据库中的数据类型是什么,都会转换成String类型数据。

         - getNString()如果查询了数据类型不为 NCHAR、NVARCHAR、LONGNVARCHAR 的字段,就会报错。

  * 还有 getInt、getDouble、getByte、getArray....等等方法,可以获得所相对应的数据库中的数据。


  * 代码:
       
      ```
        import java.sql.*;

          public class JDBCTest06 {
              public static void main(String[] args) {

                  //创建连接对象
                  Connection connection=null;
                  Statement statement=null;
                  ResultSet resultSet=null;

                  try{
                      //注册驱动
                      Class.forName("com.mysql.cj.jdbc.Driver");

                      //获取连接
                      connection= DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/employ?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai",
                              "root","123456");

                      //获取数据库操作对象
                      statement=connection.createStatement();

                      //执行SQL查询语句 ,获取结果集
                     
                      resultSet = statement.executeQuery("SELECT * FROM DEPT");

                      //处理查询结果集

                       /*
                       while(resultSet.next()){
                           String  deptno=resultSet.getString(1);
                           String  dname=resultSet.getString(2);
                           String  loc=resultSet.getString(3);
                           System.out.println(deptno +" "+dname+" "+loc);
                         }
                       */
                           
                        while(resultSet.next()){

                           //数据库中什么类型的数据,可以用相应类型的方法获取。

                           int  deptno=resultSet.getInt("DEPTNO");

                           String dname=resultSet.getString("DNAME");

                           String loc=resultSet.getString("LOC");

                           System.out.println(deptno +" "+dname+" "+loc);
                          
                       }



                  }catch (Exception e){

                  }finally {

                      //释放资源
                      if (resultSet!=null){
                          try {
                              resultSet.close();
                          } catch (SQLException e) {
                              e.printStackTrace();
                          }
                      }

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

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

                  }


              }
          }
posted @ 2021-04-16 13:47  失昼  阅读(141)  评论(0)    收藏  举报