JDBC中resutset接口操作实例详解
本文主要向大家展示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
本文由主机测评网发布,不代表主机测评网立场,转载联系作者并注明出处:https://zhuji.jb51.net/shujuku/2883.html