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方法,向下移動并判斷是否有內(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細(xì)節(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> 光標(biāo)移動到最后一行之后 rs.afterLast(); //2> 遍歷=> while(rs.previous()){//向上移動光標(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 注冊驅(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();//將光標(biāo)移動到第一行 rs.updateString("name", "湯姆");// 修改第一行name列的值為中文湯姆 rs.updateRow();// 確認(rèn)修改 //6關(guān)閉資源 st.close(); conn.close(); } }
總結(jié)
以上就是本文關(guān)于JDBC中resutset接口操作實(shí)例詳解的全部內(nèi)容了,希望對大家有所幫助。有興趣的朋友歡迎參閱更多有關(guān)JDBC的文章:BaseJDBC和CRUDDAO的寫法實(shí)例代碼、Spring jdbc中數(shù)據(jù)庫操作對象化模型的實(shí)例詳解、Java基于jdbc連接mysql數(shù)據(jù)庫操作示例等,在此也希望大家對腳本之家網(wǎng)站多多支持!
相關(guān)文章
一條慢SQL導(dǎo)致購物車服務(wù)無法使用的解決方案
今天小編就為大家分享一篇關(guān)于一條慢SQL導(dǎo)致購物車服務(wù)無法使用的解決方案,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2018-12-12sql語句實(shí)現(xiàn)行轉(zhuǎn)列的3種方法實(shí)例
將列值旋轉(zhuǎn)為列名(即行轉(zhuǎn)列)是我們在開發(fā)中經(jīng)常會遇到的一個(gè)需要,下面這篇文章主要給大家介紹了關(guān)于sql語句實(shí)現(xiàn)行轉(zhuǎn)列的3種方法,分別給出了詳細(xì)的示例代碼,需要的朋友可以參考借鑒,下面來一起學(xué)習(xí)學(xué)習(xí)吧。2018-02-02