本文主要向大家展示JDBC接口中resutset接口的用法實例,下面我們看看具體內(nèi)容。
1. ResultSet細節(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方法,向下移動并判斷是否有內(nèi)容
//2. getXXX方法,根據(jù)列索引或列名獲得列的內(nèi)容
public class Demo {
@Test
public void fun1() throws Exception{
//1 注冊驅(qū)動
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);
//向下移動一行,并判斷
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細節(jié)2
結(jié)果集的滾動-->移動結(jié)果集的指針就是滾動
結(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 注冊驅(qū)動
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> 光標移動到最后一行之后
rs.afterLast();
//2> 遍歷=>
while(rs.previous()){//向上移動光標,并判斷是否有數(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細節(jié)
// 2.結(jié)果集反向修改數(shù)據(jù)庫
public class Demo3 {
@Test
public void fun1() throws Exception{
//1 注冊驅(qū)動
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();//將光標移動到第一行
rs.updateString("name", "湯姆");// 修改第一行name列的值為中文湯姆
rs.updateRow();// 確認修改
//6關(guān)閉資源
st.close();
conn.close();
}
}
總結(jié)
以上就是本文關(guān)于JDBC中resutset接口操作實例詳解的全部內(nèi)容了,希望對大家有所幫助。有興趣的朋友歡迎參閱更多有關(guān)JDBC的文章:BaseJDBC和CRUDDAO的寫法實例代碼、Spring jdbc中數(shù)據(jù)庫操作對象化模型的實例詳解、Java基于jdbc連接mysql數(shù)據(jù)庫操作示例等,在此也希望大家對腳本之家網(wǎng)站多多支持!
您可能感興趣的文章:- JDBC常用接口總結(jié)
- BaseJDBC和CRUDDAO的寫法實例代碼
- spring對JDBC和orm的支持實例詳解
- Java使用JDBC實現(xiàn)Oracle用戶認證的方法詳解
- java使用JDBC動態(tài)創(chuàng)建數(shù)據(jù)表及SQL預(yù)處理的方法