共計(jì) 2907 個(gè)字符,預(yù)計(jì)需要花費(fèi) 8 分鐘才能閱讀完成。
自動(dòng)寫代碼機(jī)器人,免費(fèi)開通
這篇文章將為大家詳細(xì)講解有關(guān)怎么在 JDBC 中對(duì) resutset 接口進(jìn)行操作,文章內(nèi)容質(zhì)量較高,因此丸趣 TV 小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。
1. ResultSet 細(xì)節(jié) 1
功能:封鎖結(jié)果集數(shù)據(jù)
操作:如何獲得 (取出) 結(jié)果
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 方法, 向下移動(dòng)并判斷是否有內(nèi)容
//2. getXXX 方法, 根據(jù)列索引或列名獲得列的內(nèi)容
public class Demo {
@Test
public void fun1() throws Exception{
//1 注冊(cè)驅(qū)動(dòng)
Class.forName( com.mysql.jdbc.Driver
//2 獲得連接
Connection conn = DriverManager.getConnection( jdbc:mysql://localhost:3306/day05 , root , 1234
//3 創(chuàng)建 Statement
Statement st = conn.createStatement();
//4 書寫 sql
String sql = select * from t_user ;
//5 執(zhí)行 sql
ResultSet rs = st.executeQuery(sql);
// 向下移動(dòng)一行, 并判斷
while(rs.next()){
// 有數(shù)據(jù)
// 取數(shù)據(jù):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 關(guān)閉資源
st.close();
conn.close();
}
/* 數(shù)據(jù)庫類型 java 類型
int int
double double
decimal double
char String
varchar String
datetime Date
timestamp Timestamp/Date
*/
}
2.ResultSet 細(xì)節(jié) 2
結(jié)果集的滾動(dòng) – 移動(dòng)結(jié)果集的指針就是滾動(dòng)
結(jié)果集反向修改數(shù)據(jù)庫
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 注冊(cè)驅(qū)動(dòng)
Class.forName( com.mysql.jdbc.Driver
//2 獲得連接
Connection conn = DriverManager.getConnection( jdbc:mysql://localhost:3306/day05 , root , 1234
//3 創(chuàng)建 Statement
Statement st = conn.createStatement();
//4 書寫 sql
String sql = select * from t_user ;
//5 執(zhí)行 sql
ResultSet rs = st.executeQuery(sql);
// 倒著遍歷
//1 光標(biāo)移動(dòng)到最后一行之后
rs.afterLast();
//2 遍歷 =
while(rs.previous()){// 向上移動(dòng)光標(biāo), 并判斷是否有數(shù)據(jù)
int id = rs.getInt( id // 獲得 id 列的值
String name = rs.getString( name // 獲得第二列的值
int age = rs.getInt( age // 獲得第三列的值
System.out.println(id+ == +name+ == +age);
}
// 6 關(guān)閉資源
st.close();
conn.close();
}
/* 數(shù)據(jù)庫類型 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 細(xì)節(jié)
// 2. 結(jié)果集反向修改數(shù)據(jù)庫
public class Demo3 {
@Test
public void fun1() throws Exception{
//1 注冊(cè)驅(qū)動(dòng)
Class.forName( com.mysql.jdbc.Driver
//2 獲得連接
Connection conn = DriverManager.getConnection( jdbc:mysql://localhost:3306/day05 , root , 1234
//3 創(chuàng)建 Statement
Statement st = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
//4 書寫 sql
String sql = select * from t_user ;
//5 執(zhí)行 sql
ResultSet rs = st.executeQuery(sql);
// 使用結(jié)果集 反向修改數(shù)據(jù)庫
rs.next();// 將光標(biāo)移動(dòng)到第一行
rs.updateString( name , 湯姆 // 修改第一行 name 列的值為中文湯姆
rs.updateRow();// 確認(rèn)修改
// 6 關(guān)閉資源
st.close();
conn.close();
}
}
關(guān)于怎么在 JDBC 中對(duì) resutset 接口進(jìn)行操作就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。
向 AI 問一下細(xì)節(jié)
正文完