优选主流主机商
任何主机均需规范使用

JDBC ResultSet接口使用详解及实战操作示例

本文主要向大家展示JDBC接口中resutset接口的用法实例,下面我们看看具体内容。

1. ResultSet细节1

功能:封锁结果集数据

操作:如何获得(取出)结果

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 package com.sjx.a;   import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; import org.junit.Test;    //1. next方法,向下移动并判断是否有内容    //2. getXXX方法,根据列索引或列名获得列的内容 public class Demo {    @Test    public void fun1() throws Exception{      //1 注册驱动      Class.forName( "com.mysql.jdbc.Driver" );      //2 获得连接      Connection conn = DriverManager.getConnection( "jdbc:mysql://localhost:3306/day05" , "root" , "1234" );      //3 创建Statement      Statement st = conn.createStatement();      //4 书写sql      String sql = "select * from t_user" ;      //5 执行sql      ResultSet rs = st.executeQuery(sql);      //向下移动一行,并判断      while (rs.next()){        //有数据        //取数据:getXXX        int id = rs.getInt( 1 ); //获得第一列的值        //int id rs.getInt("id");// 获得id列的值        String name = rs.getString( 2 ); //获得第二列的值        int age = rs.getInt( 3 ); //获得第三列的值        System.out.println(id+ "==>" +name+ "==>" +age);               //rs.gettimestamp(columnIndex)      }      //6关闭资源     st.close();     conn.close();    }    /* 数据库类型      java类型      int         int      double       double      decimal       double      char       String      varchar       String      datetime     Date      timestamp    Timestamp/Date     */ }

2.ResultSet细节2

结果集的滚动–>移动结果集的指针就是滚动

结果集反向修改数据库

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 package com.sjx.a; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; import org.junit.Test; public class Demo2 {    @Test    public void fun1() throws Exception{      //1 注册驱动      Class.forName( "com.mysql.jdbc.Driver" );      //2 获得连接      Connection conn = DriverManager.getConnection( "jdbc:mysql://localhost:3306/day05" , "root" , "1234" );      //3 创建Statement      Statement st = conn.createStatement();      //4 书写sql      String sql = "select * from t_user" ;      //5 执行sql      ResultSet rs = st.executeQuery(sql);      //倒着遍历        //1> 光标移动到最后一行之后        rs.afterLast();        //2> 遍历=>        while (rs.previous()){ //向上移动光标,并判断是否有数据          int id = rs.getInt( "id" ); // 获得id列的值          String name = rs.getString( "name" ); //获得第二列的值          int age = rs.getInt( "age" ); //获得第三列的值          System.out.println(id+ "==>" +name+ "==>" +age);        }      //6关闭资源     st.close();     conn.close();    }    /* 数据库类型      java类型      int         int      double       double      decimal       double      char       String      varchar       String      datetime     Date      timestamp    Timestamp/Date     */ }

3.使用ResultSet修改记录

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 package com.sjx.a; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; import org.junit.Test; //ResultSet细节 // 2.结果集反向修改数据库 public class Demo3 {    @Test    public void fun1() throws Exception{      //1 注册驱动      Class.forName( "com.mysql.jdbc.Driver" );      //2 获得连接      Connection conn = DriverManager.getConnection( "jdbc:mysql://localhost:3306/day05" , "root" , "1234" );      //3 创建Statement      Statement st = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);      //4 书写sql      String sql = "select * from t_user" ;      //5 执行sql      ResultSet rs = st.executeQuery(sql);      //使用结果集 反向修改数据库      rs.next(); //将光标移动到第一行      rs.updateString( "name" , "汤姆" ); // 修改第一行name列的值为中文汤姆      rs.updateRow(); // 确认修改      //6关闭资源     st.close();     conn.close();    } }

总结

以上就是本文关于JDBC中resutset接口操作实例详解的全部内容了,希望对大家有所帮助。有兴趣的朋友欢迎参阅更多有关JDBC的文章:BaseJDBC和CRUDDAO的写法实例代码、Spring jdbc中数据库操作对象化模型的实例详解、Java基于jdbc连接mysql数据库操作示例等。

未经允许不得转载:搬瓦工中文网 » JDBC ResultSet接口使用详解及实战操作示例