JDBC中resutset接口操作實(shí)例詳解
本文主要向大家展示JDBC接口中resutset接口的用法實(shí)例,下面我們看看具體內(nèi)容。
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ù)庫(kù)類型 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ù)庫(kù)
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ù)庫(kù)類型 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ù)庫(kù)
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ù)庫(kù)
rs.next();//將光標(biāo)移動(dòng)到第一行
rs.updateString("name", "湯姆");// 修改第一行name列的值為中文湯姆
rs.updateRow();// 確認(rèn)修改
//6關(guān)閉資源
st.close();
conn.close();
}
}
總結(jié)
以上就是本文關(guān)于JDBC中resutset接口操作實(shí)例詳解的全部?jī)?nèi)容了,希望對(duì)大家有所幫助。有興趣的朋友歡迎參閱更多有關(guān)JDBC的文章:BaseJDBC和CRUDDAO的寫法實(shí)例代碼、Spring jdbc中數(shù)據(jù)庫(kù)操作對(duì)象化模型的實(shí)例詳解、Java基于jdbc連接mysql數(shù)據(jù)庫(kù)操作示例等,在此也希望大家對(duì)腳本之家網(wǎng)站多多支持!
相關(guān)文章
一個(gè)查詢的SQL語(yǔ)句請(qǐng)教,希望能夠用一條SQL語(yǔ)句得到結(jié)果
一個(gè)查詢的SQL語(yǔ)句請(qǐng)教,希望能夠用一條SQL語(yǔ)句得到結(jié)果...2007-06-06
DM達(dá)夢(mèng)數(shù)據(jù)日期時(shí)間函數(shù)、系統(tǒng)函數(shù)用法整理大全
DM(達(dá)夢(mèng)數(shù)據(jù)庫(kù)管理系統(tǒng))是一款國(guó)產(chǎn)的高性能數(shù)據(jù)庫(kù)管理系統(tǒng),廣泛應(yīng)用于政府、金融、電信等多個(gè)行業(yè),下面這篇文章主要介紹了DM達(dá)夢(mèng)數(shù)據(jù)日期時(shí)間函數(shù)、系統(tǒng)函數(shù)用法整理的相關(guān)資料,需要的朋友可以參考下2025-04-04
使用 Navicat 創(chuàng)建數(shù)據(jù)庫(kù)并用JDBC連接的操作方法
這篇文章主要介紹了使用 Navicat 創(chuàng)建數(shù)據(jù)庫(kù)并用JDBC連接的操作方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-11-11
eXtremeDB 6.0正式發(fā)布:提高擴(kuò)展性和分布式查詢速度
這篇文章主要介紹了eXtremeDB 6.0正式發(fā)布:提高擴(kuò)展性和分布式查詢速度,本文詳細(xì)介紹了全新的eXtremeDB 6.0的一些特性,需要的朋友可以參考下2014-10-10
Access數(shù)據(jù)庫(kù)升級(jí)為SQL數(shù)據(jù)庫(kù)的注意事項(xiàng)和方法
Access數(shù)據(jù)庫(kù)升級(jí)為SQL數(shù)據(jù)庫(kù)的注意事項(xiàng)和方法...2007-02-02
淺談數(shù)據(jù)庫(kù)緩存最終一致性的四種方案
緩存是軟件開(kāi)發(fā)中一個(gè)非常有用的概念,數(shù)據(jù)庫(kù)緩存更是在項(xiàng)目中必然會(huì)遇到的場(chǎng)景,緩存一致性的保證,更是在面試中被反復(fù)問(wèn)到。下面我們就一起來(lái)了解一下2021-04-04

