溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

jdbc如何連接數(shù)據(jù)庫(kù)

發(fā)布時(shí)間:2020-11-12 14:18:35 來源:億速云 閱讀:153 作者:小新 欄目:編程語(yǔ)言

小編給大家分享一下jdbc如何連接數(shù)據(jù)庫(kù),希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

1、加載驅(qū)動(dòng)

  在連接數(shù)據(jù)庫(kù)之前,需要加載數(shù)據(jù)庫(kù)的驅(qū)動(dòng)到JVM(Java虛擬機(jī)),這需要通過java.lang.Class類的靜態(tài)方法forName(String className)實(shí)現(xiàn).
例如:

//加載Oracle的驅(qū)動(dòng)
try{
Class.forName("oracle.jdbc.OracleDriver");
}catch(ClassNotFoundException e){
System.out.println("找不到程序驅(qū)動(dòng)類,加載驅(qū)動(dòng)失敗!");
e.printStackTrace();
}

加載成功后,會(huì)將驅(qū)動(dòng)類的實(shí)例注冊(cè)到DriverManager類中。

2、創(chuàng)建數(shù)據(jù)庫(kù)的連接

  想連接數(shù)據(jù)庫(kù),需要向java.sql.DriverManager請(qǐng)求并獲得Connection對(duì)象,該對(duì)象就代表一個(gè)數(shù)據(jù)庫(kù)的連接。
使用DriverManager的getConnection(url,uname,upass)傳入數(shù)據(jù)庫(kù)的路徑,用戶名,密碼獲得一個(gè)連接

Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@192.168.31.50:8080:orcl","uname","upass");

3、創(chuàng)建一個(gè)Statement

要執(zhí)行SQL語(yǔ)句,必須獲得java.sql.Statement實(shí)例,Statement實(shí)例分為以下3種類型:
  1.執(zhí)行靜態(tài)語(yǔ)句,通常通過Statement實(shí)例實(shí)現(xiàn)。

Statement st = conn.createStatement();

  2.執(zhí)行動(dòng)態(tài)語(yǔ)句,通常通過PreparedStatement實(shí)現(xiàn)。

PreparedStatement ps = conn.prepareStatement(sql);

  3.執(zhí)行數(shù)據(jù)庫(kù)存儲(chǔ)過程.通常通過CallableStatement實(shí)現(xiàn)

CallableStatement cs = conn.prepareCall("{CALL demoSp(?,?)}");

4、執(zhí)行sql語(yǔ)句

  ResultSet executeQuery(sql) 適用于遍歷多個(gè)結(jié)果,插入集合,返回一個(gè)結(jié)果集,可以用.next對(duì)該對(duì)象進(jìn)行遍歷,使用getString("字段名")獲取字段值
  int executeUpdate(sql) 適用于Update,insert或delete語(yǔ)句以及sqlDDL語(yǔ)句,例如建表和刪表等等,返回被改變的條數(shù)

5、關(guān)閉JDBC對(duì)象

關(guān)閉順序要和聲明順序相反
  1.關(guān)閉記錄集
  2.關(guān)閉聲明
  3.關(guān)閉連接對(duì)象

if(rs != null){
    rs.close();
    }

看完了這篇文章,相信你對(duì)jdbc如何連接數(shù)據(jù)庫(kù)有了一定的了解,想了解更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI