資源描述:
《jdbc學(xué)習(xí)筆記.pdf》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、jdbc學(xué)習(xí)筆記(一)一.JDBC原理概述1,JDBC是一套協(xié)議,是JAVA開發(fā)人員和數(shù)據(jù)庫(kù)廠商達(dá)成的協(xié)議,也就是由Sun定義一組接口,由數(shù)據(jù)庫(kù)廠商來實(shí)現(xiàn),并規(guī)定了JAVA開發(fā)人員訪問數(shù)據(jù)庫(kù)所使用的方法的調(diào)用規(guī)范。2,JDBC的實(shí)現(xiàn)是由數(shù)據(jù)庫(kù)廠商提供,以驅(qū)動(dòng)程序形式提供。3,JDBC在使用前要先加載驅(qū)動(dòng)。JDBC對(duì)于使用者要有一致性,對(duì)不同的數(shù)據(jù)庫(kù)其使用方法都是相同的。驅(qū)動(dòng)開發(fā)必須要實(shí)現(xiàn)Driver接口。數(shù)據(jù)庫(kù)驅(qū)動(dòng)的實(shí)現(xiàn)方式JDBC-ODBC橋接式JDBC網(wǎng)絡(luò)驅(qū)動(dòng),這種方式是通過中間服務(wù)器的協(xié)議轉(zhuǎn)換來實(shí)現(xiàn)的JDBC+本地驅(qū)動(dòng),這種方式
2、的安全性比較差。JDBC驅(qū)動(dòng),由數(shù)據(jù)庫(kù)廠商實(shí)現(xiàn)。二.JDBC的APIjava.sql包和javax.sql包Driver接口(驅(qū)動(dòng)),在加載某一Driver類時(shí),它應(yīng)該創(chuàng)建自己的實(shí)例并向DriverManager注冊(cè)該實(shí)例。這意味著用戶可以通過調(diào)用以下程序加載和注冊(cè)一個(gè)驅(qū)動(dòng)程序Class.forName("oracle.jdbc.driver.OracleDriver")DriverManager類(驅(qū)動(dòng)管理器),它可以創(chuàng)建連接,它本身就是一個(gè)創(chuàng)建Connection的工廠(Factory)。Connection接口,會(huì)根據(jù)不同的驅(qū)動(dòng)
3、產(chǎn)生不同的連接Statement接口,發(fā)送sql語句ResultSet接口(結(jié)果集),是用來接收select語句返回的查詢結(jié)果的。其實(shí)質(zhì)類似于集合。三.JDBC應(yīng)用步驟1,注冊(cè)加載一個(gè)driver驅(qū)動(dòng)2,創(chuàng)建數(shù)據(jù)庫(kù)連接(Connection)3,創(chuàng)建一個(gè)Statement(發(fā)送sql)4,執(zhí)行sql語句5,處理sql結(jié)果(select語句)6,關(guān)閉Statement7,關(guān)閉連接Connection。注意:6,7兩個(gè)步驟是必須要做的,因?yàn)檫@些資源是不會(huì)自動(dòng)釋放的,必須要自己關(guān)閉訪問Oracle的數(shù)據(jù)庫(kù)的驅(qū)動(dòng)名字叫ojdbc14.jar,
4、要使用這個(gè)驅(qū)動(dòng)程序,要先將他加到環(huán)境變量CLASSPATH中。注冊(cè)加載驅(qū)動(dòng)driver,也就是強(qiáng)制類加載Class.forName(Driver包名.Driver類名)。Driverd=newDriver類();//注意:這個(gè)方法不能用參數(shù)來構(gòu)造DriverManager.registerDriver(d);Oracle的Driver的全名oracle.jdbc.driver.OracleDrivermysql的Driver的全名com.mysql.jdbc.DriverSQLServer的Driver的全名com.microsoft
5、.jdbc.sqlserver.SQLServerDriver創(chuàng)建連接DriverManager.getConnection(Stringurl,Stringusername,Stringpassword);Connection連接是通過DriverManager的靜態(tài)方法getConnection(.....)來得到的,這個(gè)方法的實(shí)質(zhì)是把參數(shù)傳到實(shí)際的Driver中的connect()方法中來獲得數(shù)據(jù)庫(kù)連接的。Oracle的URL值是由連接數(shù)據(jù)庫(kù)的協(xié)議和數(shù)據(jù)庫(kù)的IP地址及端口號(hào)還有要連接的數(shù)據(jù)庫(kù)的庫(kù)名(DatebaseName)Or
6、acleURL的格式j(luò)dbc:oracle:thin:(協(xié)議)@XXX.XXX.X.XXX:XXXX(IP地址及端口號(hào)):XXXXXXX(所使用的庫(kù)名)例:jdbc:oracle:thin:@192.168.0.20:1521:tarenadbMySqlURL的寫法例:jdbc:mysql://localhost:3306/tarenaSQLServerURL的寫法例:jdbc:microsoft:sqlserver://localhost:1433/testjava-Djdbc.drivers=驅(qū)動(dòng)的完整類名使用虛擬機(jī)參數(shù),加載驅(qū)動(dòng)
7、-D表示為虛擬機(jī)參數(shù)賦值java-Djdbc.drivers=oracle.jdbc.driver.OracleDriver:com.mysql.jdbc.Driver四.JDBC基本方法DriverManager:如果有多個(gè)驅(qū)動(dòng)可用的話,DriverManager會(huì)根據(jù)URL選擇其中一個(gè)可用的驅(qū)動(dòng).Driver:可以選擇固定的驅(qū)動(dòng)Driverdriver=neworacle.jdbc.driver.OracleDriver();Stringuser="sd0613";Stringpassword="sd0613";Propertie
8、sprop=newProperties();prop.setProperty("user",user);prop.setProperty("password",password);driver.connect(url,p