當前位置:首頁 » 數據倉庫 » javajdbc操作資料庫
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

javajdbc操作資料庫

發布時間: 2023-02-11 04:52:08

① java中使用JDBC完成資料庫操作的基本步驟是什麼

創建一個以JDBC連接資料庫的程序,包含7個步驟: x0dx0a 1、載入JDBC驅動程序: x0dx0a 在連接資料庫之前,首先要載入想要連接的資料庫的驅動到JVM(Java虛擬機), x0dx0a 這通過java.lang.Class類的靜態方法forName(String className)實現。 x0dx0a 例如: x0dx0a try{ x0dx0a //載入Mysql的驅動類 x0dx0a Class.forName("com.mysql.jdbc.Driver") ; x0dx0a }catch(ClassNotFoundException e){ x0dx0a System.out.println("找不到驅動程序類 ,載入驅動失敗!"); x0dx0a e.printStackTrace() ; x0dx0a } x0dx0a 成功載入後,會將Driver類的實例注冊到DriverManager類中。 x0dx0a 2、提供JDBC連接的URL x0dx0a •連接URL定義了連接資料庫時的協議、子協議、數據源標識。 x0dx0a •書寫形式:協議:子協議:數據源標識 x0dx0a 協議:在JDBC中總是以jdbc開始 x0dx0a 子協議:是橋連接的驅動程序或是資料庫管理系統名稱。 x0dx0a 數據源標識:標記找到資料庫來源的地址與連接埠。 x0dx0a 例如:(MySql的連接URL) x0dx0a jdbc:mysql: x0dx0a //localhost:3306/test?useUnicode=true&characterEncoding=gbk ; x0dx0a useUnicode=true:表示使用Unicode字元集。如果characterEncoding設置為 x0dx0a gb2312或GBK,本參數必須設置為true 。characterEncoding=gbk:字元編碼方式。 x0dx0a 3、創建資料庫的連接 x0dx0a •要連接資料庫,需要向java.sql.DriverManager請求並獲得Connection對象, x0dx0a 該對象就代表一個資料庫的連接。 x0dx0a •使用DriverManager的getConnectin(String url , String username , x0dx0a String password )方法傳入指定的欲連接的資料庫的路徑、資料庫的用戶名和 x0dx0a 密碼來獲得。 x0dx0a 例如: x0dx0a //連接MySql資料庫,用戶名和密碼都是root x0dx0a String url = "jdbc:mysql://localhost:3306/test" ; x0dx0a String username = "root" ; x0dx0a String password = "root" ; x0dx0a try{ x0dx0a Connection con = x0dx0a DriverManager.getConnection(url , username , password ) ; x0dx0a }catch(SQLException se){ x0dx0a System.out.println("資料庫連接失敗!"); x0dx0a se.printStackTrace() ; x0dx0a } x0dx0a 4、創建一個Statement x0dx0a •要執行SQL語句,必須獲得java.sql.Statement實例,Statement實例分為以下3 x0dx0a 種類型: x0dx0a 1、執行靜態SQL語句。通常通過Statement實例實現。 x0dx0a 2、執行動態SQL語句。通常通過PreparedStatement實例實現。 x0dx0a 3、執行資料庫存儲過程。通常通過CallableStatement實例實現。 x0dx0a 具體的實現方式: x0dx0a Statement stmt = con.createStatement() ; x0dx0a PreparedStatement pstmt = con.prepareStatement(sql) ; x0dx0a CallableStatement cstmt = x0dx0a con.prepareCall("{CALL demoSp(? , ?)}") ; x0dx0a 5、執行SQL語句 x0dx0a Statement介面提供了三種執行SQL語句的方法:executeQuery 、executeUpdate x0dx0a 和execute x0dx0a 1、ResultSet executeQuery(String sqlString):執行查詢資料庫的SQL語句 x0dx0a ,返回一個結果集(ResultSet)對象。 x0dx0a 2、int executeUpdate(String sqlString):用於執行INSERT、UPDATE或 x0dx0a DELETE語句以及SQL DDL語句,如:CREATE TABLE和DROP TABLE等 x0dx0a 3、execute(sqlString):用於執行返回多個結果集、多個更新計數或二者組合的 x0dx0a 語句。 x0dx0a 具體實現的代碼: x0dx0a ResultSet rs = stmt.executeQuery("SELECT * FROM ...") ; x0dx0a int rows = stmt.executeUpdate("INSERT INTO ...") ; x0dx0a boolean flag = stmt.execute(String sql) ; x0dx0a 6、處理結果 x0dx0a 兩種情況: x0dx0a 1、執行更新返回的是本次操作影響到的記錄數。 x0dx0a 2、執行查詢返回的結果是一個ResultSet對象。 x0dx0a • ResultSet包含符合SQL語句中條件的所有行,並且它通過一套get方法提供了對這些 x0dx0a 行中數據的訪問。 x0dx0a • 使用結果集(ResultSet)對象的訪問方法獲取數據: x0dx0a while(rs.next()){ x0dx0a String name = rs.getString("name") ; x0dx0a String pass = rs.getString(1) ; // 此方法比較高效 x0dx0a } x0dx0a (列是從左到右編號的,並且從列1開始) x0dx0a 7、關閉JDBC對象 x0dx0a 操作完成以後要把所有使用的JDBC對象全都關閉,以釋放JDBC資源,關閉順序和聲 x0dx0a 明順序相反: x0dx0a 1、關閉記錄集 x0dx0a 2、關閉聲明 x0dx0a 3、關閉連接對象 x0dx0a if(rs != null){ // 關閉記錄集 x0dx0a try{ x0dx0a rs.close() ; x0dx0a }catch(SQLException e){ x0dx0a e.printStackTrace() ; x0dx0a } x0dx0a } x0dx0a if(stmt != null){ // 關閉聲明 x0dx0a try{ x0dx0a stmt.close() ; x0dx0a }catch(SQLException e){ x0dx0a e.printStackTrace() ; x0dx0a } x0dx0a } x0dx0a if(conn != null){ // 關閉連接對象 x0dx0a try{ x0dx0a conn.close() ; x0dx0a }catch(SQLException e){ x0dx0a e.printStackTrace() ; x0dx0a } x0dx0a }

② java中使用JDBC連接資料庫的步驟

1.class.forName("驅動所在類及包名") 還需導入jar包
2.java.sql.Connection conn = DriverManager.getConnection(URL(即資料庫連接的ulr),USERNAME(對應數據的用戶名),PASSWORD(密碼));
3.String sql = "SELECT * FROM tableName WHERE id=?";
4.java.sql.PreparedStatement ptmt = conn.getPreparedStatement(sql);
5.ptmt.setInt(1,id值);
6.java.sql.ResultSet rs = ptmt.executeQuery();
7.while(rs.next){
System.out.println(rs.getString("欄位名"));
}
8.conn.close();ptmt.close();rs.close();

③ java中簡述使用JDBC完成資料庫操作的基本步驟。

創建一個以JDBC連接資料庫的程序,包含7個步驟:
1、載入JDBC驅動程序:
在連接資料庫之前,首先要載入想要連接的資料庫的驅動到JVM(Java虛擬機),
這通過java.lang.Class類的靜態方法forName(String className)實現。
例如:
try{
//載入MySql的驅動類
Class.forName("com.mysql.jdbc.Driver") ;
}catch(ClassNotFoundException e){
System.out.println("找不到驅動程序類 ,載入驅動失敗!");
e.printStackTrace() ;
}
成功載入後,會將Driver類的實例注冊到DriverManager類中。
2、提供JDBC連接的URL
•連接URL定義了連接資料庫時的協議、子協議、數據源標識。
•書寫形式:協議:子協議:數據源標識
協議:在JDBC中總是以jdbc開始
子協議:是橋連接的驅動程序或是資料庫管理系統名稱。
數據源標識:標記找到資料庫來源的地址與連接埠。
例如:(MySql的連接URL)
jdbc:mysql:
//localhost:3306/test?useUnicode=true&characterEncoding=gbk ;
useUnicode=true:表示使用Unicode字元集。如果characterEncoding設置為
gb2312或GBK,本參數必須設置為true 。characterEncoding=gbk:字元編碼方式。
3、創建資料庫的連接
•要連接資料庫,需要向java.sql.DriverManager請求並獲得Connection對象,
該對象就代表一個資料庫的連接。
•使用DriverManager的getConnectin(String url , String username ,
String password )方法傳入指定的欲連接的資料庫的路徑、資料庫的用戶名和
密碼來獲得。
例如:
//連接MySql資料庫,用戶名和密碼都是root
String url = "jdbc:mysql://localhost:3306/test" ;
String username = "root" ;
String password = "root" ;
try{
Connection con =
DriverManager.getConnection(url , username , password ) ;
}catch(SQLException se){
System.out.println("資料庫連接失敗!");
se.printStackTrace() ;
}
4、創建一個Statement
•要執行SQL語句,必須獲得java.sql.Statement實例,Statement實例分為以下3
種類型:
1、執行靜態SQL語句。通常通過Statement實例實現。
2、執行動態SQL語句。通常通過PreparedStatement實例實現。
3、執行資料庫存儲過程。通常通過CallableStatement實例實現。
具體的實現方式:
Statement stmt = con.createStatement() ;
PreparedStatement pstmt = con.prepareStatement(sql) ;
CallableStatement cstmt =
con.prepareCall("{CALL demoSp(? , ?)}") ;
5、執行SQL語句
Statement介面提供了三種執行SQL語句的方法:executeQuery 、executeUpdate
和execute
1、ResultSet executeQuery(String sqlString):執行查詢資料庫的SQL語句
,返回一個結果集(ResultSet)對象。
2、int executeUpdate(String sqlString):用於執行INSERT、UPDATE或
DELETE語句以及SQL DDL語句,如:CREATE TABLE和DROP TABLE等
3、execute(sqlString):用於執行返回多個結果集、多個更新計數或二者組合的
語句。
具體實現的代碼:
ResultSet rs = stmt.executeQuery("SELECT * FROM ...") ;
int rows = stmt.executeUpdate("INSERT INTO ...") ;
boolean flag = stmt.execute(String sql) ;
6、處理結果
兩種情況:
1、執行更新返回的是本次操作影響到的記錄數。
2、執行查詢返回的結果是一個ResultSet對象。
• ResultSet包含符合SQL語句中條件的所有行,並且它通過一套get方法提供了對這些
行中數據的訪問。
• 使用結果集(ResultSet)對象的訪問方法獲取數據:
while(rs.next()){
String name = rs.getString("name") ;
String pass = rs.getString(1) ; // 此方法比較高效
}
(列是從左到右編號的,並且從列1開始)
7、關閉JDBC對象
操作完成以後要把所有使用的JDBC對象全都關閉,以釋放JDBC資源,關閉順序和聲
明順序相反:
1、關閉記錄集
2、關閉聲明
3、關閉連接對象
if(rs != null){ // 關閉記錄集
try{
rs.close() ;
}catch(SQLException e){
e.printStackTrace() ;
}
}
if(stmt != null){ // 關閉聲明
try{
stmt.close() ;
}catch(SQLException e){
e.printStackTrace() ;
}
}
if(conn != null){ // 關閉連接對象
try{
conn.close() ;
}catch(SQLException e){
e.printStackTrace() ;
}
}

④ java怎麼操作資料庫呢

jdbc連接資料庫,DriverManger等初始化連接,prepareStatement語句執行sql,ResultSet拿到執行結果,while result.hasNext循環拿到數據值等。

如果不用jdbc,可以用框架,hibernate,mybatis都是可以的。

詳情可以私聊我,手機打字太累了。

⑤ java中連接資料庫的方式,有JDBC還有什麼

這是老師發給我們的資料,共享給你:x0dx0aType 1: jdbc-odbc橋 x0dx0aJdbc-odbc 橋 是sun公司提供的,是jdk提供的的標准api. 這種類型的驅動實際是把所有 jdbc的調用傳遞給odbc ,再由odbc調用本地資料庫驅動代碼.( 本地資料庫驅動代碼是指 由資料庫廠商提供的資料庫操作二進制代碼庫,例如在oracle for windows中就是oci dll 文 件) x0dx0ax0dx0ajdbc-odbc橋|odbc|廠商DB代碼---資料庫Serverx0dx0ax0dx0a只要本地機裝有相關的odbc驅動那麼採用jdbc-odbc橋幾乎可以訪問所有的資料庫,jdbc- odbc方法對於客戶端已經具備odbc driver的應用還是可行的.x0dx0ax0dx0a但是,由於jdbc-odbc先調用 odbc再由odbc去調用本地資料庫介面訪問資料庫.所以,執行效率比較低,對於那些大數據量 存取的應用是不適合的.而且,這種方法要求客戶端必須安裝odbc 驅動,所以對於基於 internet ,intranet的應用也是不合適的.因為,你不可能要求所有客戶都能找到odbc driver. x0dx0ax0dx0a=====一般ACCESS用到的比較多,初學者用。實際項目是不用的。x0dx0ax0dx0aType 2: 本地Api驅動 x0dx0ax0dx0a本地api驅動直接把jdbc調用轉變為資料庫的標准調用再去訪問資料庫.x0dx0ax0dx0a這種方法需要本地 資料庫驅動代碼. 本地api驅動|廠商DB代碼---資料庫Server這種驅動比起jdbc-odbc橋執行效率大大提高了.但是,它仍然需要在客戶端載入資料庫廠商 提供的代碼庫.這樣就不適合基於internet的應用.並且,他的執行效率比起3,4型的jdbc驅動 還是不夠高. x0dx0ax0dx0aType3:網路協議驅動 這種驅動實際上是根據我們熟悉的三層結構建立的. jdbc先把對數局庫的訪問請求傳遞給網 絡上的中間件伺服器. 中間件伺服器再把請求翻譯為符合資料庫規范的調用,再把這種調用 傳給資料庫伺服器.如果中間件伺服器也是用java開法的,那麼在在中間層也可以使用1,2型 jdbc驅動程序作為訪問資料庫的方法. 網路協議驅動--中間件伺服器---資料庫Server x0dx0ax0dx0a由於這種驅動是基於server的.所以,它不需要在客戶端載入資料庫廠商提供的代碼庫.而且 他在執行效率和可升級性方面是比較好的.因為大部分功能實現都在server端,所以這種驅動 可以設計的很小,可以非常快速的載入到內存中. 但是,這種驅動在中間件層仍然需要有配置 其它資料庫驅動程序,並且由於多了一個中間層傳遞數據,它的執行效率還不是最好. x0dx0ax0dx0aType4 純JAVA驅動 x0dx0a這種驅動直接把jdbc調用轉換為符合相關資料庫系統規范的請求.由於4型驅動寫的應用可 以直接和資料庫伺服器通訊.這種類型的驅動完全由java實現,因此實現了平台獨立性. 本地協議驅動---------資料庫Server x0dx0ax0dx0a由於這種驅動不需要先把jdbc的調用傳給odbc或本地資料庫介面或者是中間層伺服器.所 以它的執行效率是非常高的.而且,它根本不需要在客戶端或伺服器端裝載任何的軟體或驅動. 這種驅動程序可以動態的被下載.但是對於不同的資料庫需要下載不同的驅動程序. x0dx0ax0dx0a以上對四種類型的jdbc驅動做了一個說明.那麼它們適合那種類型的應用開發呢? x0dx0ax0dx0aJdbc-odbc橋由於它的執行效率不高,更適合做為開發應用時的一種過度方案,或著對於初學 者了解jdbc編程也較適用. 對於那些需要大數據量操作的應用程序則應該考慮2,3,4型驅動.在intranet方面的應用可以 考慮2型驅動,但是由於3,4型驅動在執行效率上比2型驅動有著明顯的優勢,而且目前開發 的趨勢是使用純java.所以3,4型驅動也可以作為考慮對象. 至於基於internet方面的應用就只有考慮3,4型驅動了. 因為3型驅動可以把多種資料庫驅 動都配置在中間層伺服器.所以3型驅動最適合那種需要同時連接多個不同種類的資料庫, 並且對並發連接要求高的應用. 4型驅動則適合那些連接單一資料庫的工作組應用。x0dx0ax0dx0a現在是純java 開發,所以一般都用type4的jdbc driver。

⑥ 徹底搞懂JDBC的運行過程

前幾天筆者發布了博客,手寫mybatis徹底搞懂框架原理。為了幫助初學者更好理解mybatis框架,這次講解一下Java的JDBC的運行過程。

JDBC的作用

JDBC的全稱是Java DataBase Connection,也就是Java資料庫連接,我們可以用它來操作關系型資料庫。JDBC介面及相關類在java.sql包和javax.sql包里。我們可以用它來連接資料庫,執行SQL查詢,存儲過程,並處理返回的結果。

JDBC介面讓Java程序和JDBC驅動實現了松耦合,使得切換不同的資料庫變得更加簡單。

JDBC的連接步驟

執行一次JDBC連接,分六個步驟進行:

1. 導入包

在程序中包含資料庫編程所需的JDBC類。大多數情況下,使用 import java.sql.* 就足夠了

2. 注冊JDBC驅動程序

需要初始化驅動程序,這樣就可以打開與資料庫的通信。

3. 打開一個連接

使用DriverManager.getConnection()方法來創建一個Connection對象,它代表一個資料庫的物理連接。

4. 執行一個查詢

需要使用一個類型為Statement或PreparedStatement的對象(兩者區別看後文),並提交一個SQL語句到資料庫執行查詢。

5. 從結果集中提取數據

這一步中演示如何從資料庫中獲取查詢結果的數據。使用ResultSet.getXXX()方法來檢索的數據結果

6. 清理環境資源

在使用JDBC與數據交互操作資料庫中的數據後,應該明確地關閉所有的資料庫資源以減少資源的浪費。本文使用了try with resources方式關閉資源,這是JDK7的語法糖,讀者可自行搜索。

完整代碼如下。

JDBC的最佳實踐

JDBC是如何實現Java程序和JDBC驅動的松耦合?

JDBC API使用Java的反射機制來實現Java程序和JDBC驅動的松耦合。看一下上文的JDBC示例,你會發現所有操作都是通過JDBC介面完成的,而驅動只有在通過Class.forName反射機制來載入的時候才會出現。

這是Java核心庫里反射機制的最佳實踐之一,它使得應用程序和驅動程序之間進行了隔離,讓遷移資料庫的工作變得更簡單。

Statement和PreparedStatement區別

預編譯

創建時的區別:

執行時的區別:

由上可以看出,PreparedStatement有預編譯的過程,已經綁定sql,之後無論執行多少次,都不會再去進行編譯,而Statement 不同,如果執行多次,則相應的就要編譯多少次sql,所以從這點看,PreparedStatement的效率會比Statement要高一些。PreparedStatement是預編譯的,所以可以有效的防止SQL注入等問題

佔位符

PrepareStatement可以替換變數在SQL語句中可以包含?,可以用?替換成變數。

而Statement只能用字元串拼接。

JDBC的ResultSet

在查詢資料庫後會返回一個ResultSet,它就像是查詢結果集的一張數據表。

ResultSet對象維護了一個游標,指向當前的數據行。開始的時候這個游標指向的是第一行。如果調用了ResultSet的next()方法游標會下移一行,如果沒有更多的數據了,next()方法會返回false。可以在for循環中用它來遍歷數據集。

默認的ResultSet是不能更新的,游標也只能往下移。也就是說你只能從第一行到最後一行遍歷一遍。不過也可以創建可以回滾或者可更新的ResultSet,像下面這樣。

當生成ResultSet的Statement對象要關閉或者重新執行或是獲取下一個ResultSet的時候,ResultSet對象也會自動關閉。

可以通過ResultSet的getter方法,傳入列名或者從1開始的序號來獲取列數據。

ResultSet的不同類型

根據創建Statement時輸入參數的不同,會對應不同類型的ResultSet。如果你看下Connection的方法,你會發現createStatement和prepareStatement方法重載了,以支持不同的ResultSet和並發類型。

ResultSet對象有三種類型。

ResultSet有兩種並發類型。

⑦ java操作資料庫的方式有哪些

JDBC是java資料庫連接技術的簡稱,它提供了連接各種資料庫的能力,這便使程序的可維護性和可擴展性大大的提高了.JDBC連接資料庫常見的驅動方式有兩種,一種是jdbc-odbc即橋連另外一種是純java驅動.一般在做java開發的時候用第二種.so前一種我就不說了,純java驅動方式連接步驟如下:

1.先把一個jdbc的jar包導入到項目(用MyEclipse開發)的lib中.

2.代碼如下:

[c-sharp]view plain

  • importjava.sql.*;

  • /**

  • *連接資料庫幫助類

  • *@authorAdministrator

  • *

  • */

  • publicclassBaseDao{

  • ="com.microsoft.sqlserver.jdbc.SQLServerDriver";

  • privatestaticfinalStringURL="jdbc:sqlserver://localhost:1433;DatabaseName=LibraryManageSystem";

  • ="sa";

  • ="sa";

  • /**

  • *連接資料庫

  • *@return資料庫連接對象

  • *@throwsClassNotFoundException

  • *@throwsSQLException

  • */

  • publicConnectiongetConn()throwsClassNotFoundException,SQLException{

  • Class.forName(DRIVER);

  • Connectionconn=DriverManager.getConnection(URL,USERNAME,PASSWORD);

  • returnconn;

  • }

  • /**

  • *釋放資源

  • *@paramconn

  • *@parampstmt

  • *@paramrs

  • *@throwsSQLException

  • */

  • publicvoidcloseAll(Connectionconn,PreparedStatementpstmt,ResultSetrs)throwsSQLException{

  • if(rs!=null){

  • rs.close();

  • }

  • if(pstmt!=null){

  • pstmt.close();

  • }

  • if(conn!=null){

  • conn.close();

  • }

  • }

  • /**

  • *執行SQL語句,可以進行增、刪、改的操作

  • *@paramsql

  • *@return影響條數

  • *@throwsClassNotFoundException

  • *@throwsSQLException

  • */

  • publicintexecuteSQL(Stringsql)throwsClassNotFoundException,SQLException{

  • Connectionconn=this.getConn();

  • PreparedStatementpstmt=conn.prepareStatement(sql);

  • intnumber=pstmt.executeUpdate();

  • this.closeAll(conn,pstmt,null);

  • returnnumber;

  • }

  • }

  • 從代碼知道首先吧jdbc驅動類裝載java虛擬機中,即Class.forName(DRIVER);其次載入驅動並建立於資料庫的連接Connection conn = DriverManager.getConnection(URL,USERNAME,PASSWORD);;然後發送SQL語句並的到結果集.之後處理結果,最後要關閉資料庫的連接,釋放資源.當然我說的這樣連接資料庫的方式使用的軟體是sql和MyEclipse.

    使用配置文件來連接資料庫,當然這樣的連接需要進行一些配置.其實這樣的連接用專業術語來說就是連接池,連接池是負責分配管理和釋放資料庫連接.它允許用用程序重復使用一個現有的資料庫連接不再重復建立連接.釋放空閑時間超過最大空閑時間的資料庫連接以避免因為沒有釋放資料庫而引起的資料庫遺漏.

    連接池的創建分為以下幾個步驟:1.配置context.xml文件 這個文件是伺服器(指tomcat)的一個conf文件夾中,拷貝出來放入項目的lib文件夾中,具體配置如下:

    [c-sharp]view plain

  • <Resourcename="jdbc/book"auth="Container"type="javax.sql.DataSource"

  • maxActive="100"maxIdle="20"maxWait="100"username="sa"password="sa"

  • driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"

  • url="jdbc:sqlserver://localhost:1433;dataBaseName=book"

  • />在config.xml文件中加入Resource標簽,然後對資料庫信息進行配置,當然這個資料庫指的也是sqlserver有疑問可以qq757966892聯系

  • 之後把資料庫的驅動包,這里指的是sql2005的包放入伺服器的lib中,這樣以後如果在你自己的機子上都不用在重新導入這個包了.

    然後就是從MyEclipse中取得這樣的連接從而對資料庫進行一些操作具體代碼如下:

    [c-sharp]view plain

  • packageweb.login.;

  • importjava.sql.Connection;

  • importjava.sql.PreparedStatement;

  • importjava.sql.ResultSet;

  • importjavax.naming.Context;

  • importjavax.naming.InitialContext;

  • importjavax.sql.DataSource;

  • publicclassBaseDao{

  • protectedConnectionconn;

  • protectedPreparedStatementps;

  • protectedResultSetrs;

  • protectedStringsql;

  • publicConnectiongetConn(){

  • try{

  • Contextcontext=newInitialContext();

  • DataSourceds=(DataSource)context.lookup("java:comp/env/jdbc/user");

  • returnds.getConnection();

  • }catch(Exceptione){

  • e.printStackTrace();

  • returnnull;

  • }

  • }

  • publicvoidcloseAll(Connectionconn,PreparedStatementps,ResultSetrs){

  • try{

  • if(rs!=null){

  • rs.close();

  • rs=null;

  • }

  • if(ps!=null){

  • ps.close();

  • ps=null;

  • }

  • if(conn!=null){

  • conn.close();

  • conn=null;

  • }

  • }catch(Exceptione){

  • e.printStackTrace();

  • }

  • }

  • }

  • 之後便可以建立業務類從而對資料庫進行操作.

⑧ 怎樣編寫一個java程序能通過jdbc訪問資料庫實現對資料庫的插入、刪除、修改和查詢

1.增加x0dx0aString s1="insert into tableNames (id,name,password) values(myseq.nextval,?,?);"x0dx0aClass.forName(driver);x0dx0aConnection conn = DriverManager.getConnection(url,dbUser,dbPwd);x0dx0aPreparedStatement prepStmt = conn.prepareStatement(s1);x0dx0aprepStmt.setString(1,name);x0dx0aprepStmt.setString(2,password);x0dx0aResultSet rs=stmt.executeUpdate();x0dx0a2、刪除x0dx0aString s2="delete from tbNames where name=?";x0dx0aClass.forName(driver);x0dx0aConnection conn = DriverManager.getConnection(url,dbUser,dbPwd);x0dx0aPreparedStatement prepStmt = conn.prepareStatement(s2);x0dx0aprepStmt.setString(1,name);x0dx0aResultSet rs=stmt.executeUpdate();x0dx0a3、修改x0dx0aString s3=「update tbNames set name=? where id=?」;x0dx0aClass.forName(driver);x0dx0aConnection conn = DriverManager.getConnection(url,dbUser,dbPwd);x0dx0aPreparedStatement prepStmt = conn.prepareStatement(s3);x0dx0aprepStmt.setString(1,name);x0dx0aprepStmt.setString(2,id);x0dx0aResultSet rs=stmt.executeUpdate();x0dx0a4、查詢x0dx0aString s4="select id,name,password from tbNames";x0dx0aClass.forName(driver);x0dx0aConnection conn = DriverManager.getConnection(url,dbUser,dbPwd);x0dx0aStatement stmt=conn.createStatement();x0dx0aResultSet rs = stmt.executeQuery(s4);x0dx0awhile(rs.next){x0dx0aint id=rs.getInt(1);x0dx0aString name = rs.getString(2);x0dx0aString pwd=rs.getString(3);x0dx0aSystem.out.println(id+name+pwd); } x0dx0ax0dx0a以上四步必須都得關閉連接;!!!x0dx0ars.close();x0dx0astmt.close();x0dx0aconn.close();

⑨ 敘述Java類中通過JDBC訪問資料庫中記錄的步驟和過程.

jdbc api應用的基本操作
1.導入jdbc操作相關包
import java.sql.*;
2. 寫好異常捕獲結構
try{}catch()finally{}
3. 載入驅動程序
例:Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
4. 獲得連接對象
例:Connection con=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=accp","sa","123");
5. 創建sql語句執行對象(預處理語句集對象)
例:PreparedStatement ps=conn.prepareStatement("insert into student values('張三','男')");
6. 執行sql命令
int count = ps.executeUpdate();
注意如果是查詢就必須返回結果集:然後從結果集中取數據
ResultSet rs=ps.executeQuery();
while(rs.next())
{
String str1=rs.getString(1);//列下標從1開始
int num1=rs.getInt(2);
}
7.關閉預處理語句集對象和結果集對象
rs.close();
ps.close();
8.關閉連接對象
conn.close();