本文主要向大家展示JDBC接口中resutset接口的用法實例,下面我們看看具體內容。
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接口操作實例詳解的全部內容了,希望對大家有所幫助。有興趣的朋友歡迎參閱更多有關JDBC的文章:BaseJDBC和CRUDDAO的寫法實例代碼、Spring jdbc中數據庫操作對象化模型的實例詳解、Java基于jdbc連接mysql數據庫操作示例等,在此也希望大家對腳本之家網站多多支持!
您可能感興趣的文章:- JDBC常用接口總結
- BaseJDBC和CRUDDAO的寫法實例代碼
- spring對JDBC和orm的支持實例詳解
- Java使用JDBC實現Oracle用戶認證的方法詳解
- java使用JDBC動態創建數據表及SQL預處理的方法