更新時(shí)間:2021-06-04 15:12:37 來源:動力節(jié)點(diǎn) 瀏覽2657次
JDBC本質(zhì)上來講屬于一種服務(wù)。服務(wù)的特征,按照指定的套路來進(jìn)行操作。
在Java里面專門為JDBC提供有一個模塊(java.sql),里面的核心開發(fā)包就說java.sql。在JDBC里面核心組成就說DriverManager類以及若干接口(Connection、Statement、PreparedStatement、ResutSet)。
對于JDBC的程序方位也分為如下四種形式:
JDBC-ODBC橋連接:利用微軟的ODBC技術(shù)進(jìn)行數(shù)據(jù)庫的連接,而后再利用JDBC技術(shù)訪問ODBC技術(shù)進(jìn)行數(shù)據(jù)庫的開發(fā),這種技術(shù)為Java默認(rèn)支持的技術(shù),不需要做任何額外的配置即可實(shí)現(xiàn);
|-處理流程:程序→JDBC→ODBC→數(shù)據(jù)庫,操作性能很差,不會有人用。
JDBC連接:直接利用JDBC進(jìn)行數(shù)據(jù)庫的連接處理
|-處理流程:程序→JDBC→數(shù)據(jù)庫,這種連接一般只連接本地?cái)?shù)據(jù)庫服務(wù)器;
JDBC網(wǎng)絡(luò)連接:通過特定的網(wǎng)絡(luò)協(xié)議連接指定的數(shù)據(jù)庫服務(wù)。我們最常用此類操作。
|-處理流程:程序→JDBC→網(wǎng)絡(luò)數(shù)據(jù)庫(IP地址、端口);
JDBC協(xié)議連接:自己通過編寫指定的協(xié)議操作實(shí)現(xiàn)數(shù)據(jù)庫的訪問;
一定要保證已經(jīng)成功的啟動了Oracle數(shù)據(jù)庫的兩個服務(wù):數(shù)據(jù)監(jiān)聽服務(wù)(Listener)、實(shí)例服務(wù)(SID)。
如果要連接Oracle數(shù)據(jù)庫,需采用如下步驟進(jìn)行處理:
通過反射機(jī)制加載數(shù)據(jù)庫驅(qū)動程序類:oracle.jdbc.driver.OracleDriver;
數(shù)據(jù)庫的連接需要有一個網(wǎng)絡(luò)的連接地址,該地址結(jié)構(gòu)如下:
|-地址結(jié)構(gòu):jdbc:oracle:thin: 主機(jī)名稱:端口號:SID
|-MLDN數(shù)據(jù)庫:jdbc:oracle:thin: localhost:1251:mldn
數(shù)據(jù)庫用戶名:scott;
數(shù)據(jù)庫密碼:tieger;
對于數(shù)據(jù)庫的連接提供有java.sql.DriverManager的程序類,利用此類中的方法可以獲取一個Connection的接口對象
獲取Connection接口對象:public static Connection getConnection(String url,String user,String password)throws SQLException
【范例】實(shí)現(xiàn)數(shù)據(jù)庫連接操作
package demo;
import java.sql.Connection;
import java.sql.DriverManager;
import oracle.jdbc.driver.OracleDriver;
public class JDBCDemo {
private static final String DATABASE_DRIVER = "oracle.jdbc.driver.OracleDriver";
private static final String DATABASE_URL = "jdbc:oracle:thin:@localhost:1521:orcl";
private static final String DATABASE_USER = "system";
private static final String DATABASE_PASSWORD = "asdasd";//此處輸入自己數(shù)據(jù)庫設(shè)定的密碼
public static void main(String[] args) throws Exception {
Connection conn = null;//每一個COnnection接口對象秒速的就說一個用戶連接
Class.forName(DATABASE_DRIVER);//向容器之中加載數(shù)據(jù)庫驅(qū)動程序
conn = DriverManager.getConnection(DATABASE_URL,DATABASE_USER,DATABASE_PASSWORD);
System.out.println(conn);
conn.close();
}
}
oracle.jdbc.driver.T4CConnection@72d818d1
如果此時(shí)在輸出Connection接口對象的時(shí)候并沒有產(chǎn)生任何的異常,那么說明就表示當(dāng)前的Oracle數(shù)據(jù)庫已經(jīng)可以正常連接了。
思考:為什么連接Oracle數(shù)據(jù)庫的時(shí)候一定要單獨(dú)配置Oracle數(shù)據(jù)庫的驅(qū)動程序呢?
JDBC是一個操作的標(biāo)準(zhǔn),標(biāo)準(zhǔn)里面是不牽扯到具體實(shí)現(xiàn)類的,由數(shù)據(jù)庫廠商來實(shí)現(xiàn)。通過類圖來描述。

整個JDBC設(shè)計(jì)實(shí)現(xiàn)的就是一個工廠類的處理機(jī)制。RiverManager是一個工廠,不同數(shù)據(jù)庫的生產(chǎn)商使利用JDB提供的標(biāo)準(zhǔn)接口實(shí)現(xiàn)各自的數(shù)據(jù)庫處理操作。
以上就是動力節(jié)點(diǎn)小編介紹的"學(xué)習(xí)Java數(shù)據(jù)庫編程的基本操作",希望對大家有幫助,如有疑問,請?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為您服務(wù)。
相關(guān)閱讀

初級 202925

初級 203221

初級 202629

初級 203743