怎么在JDBC中对resutset接口进行操作

45次阅读
没有评论

共计 2907 个字符,预计需要花费 8 分钟才能阅读完成。

自动写代码机器人,免费开通

这篇文章将为大家详细讲解有关怎么在 JDBC 中对 resutset 接口进行操作,文章内容质量较高,因此丸趣 TV 小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

1. ResultSet 细节 1

功能:封锁结果集数据

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

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

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

结果集反向修改数据库

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 修改记录

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 接口进行操作就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

向 AI 问一下细节

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-04发表,共计2907字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)