本文主要向大家展示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数据库操作示例等,在此也希望大家对服务器之家网站多多支持!
原文链接:http://www.cnblogs.com/sjxbg/p/5815263.html