JDBC 基礎(chǔ)(二) - 創(chuàng)建聯(lián)接
發(fā)表時(shí)間:2024-05-18 來(lái)源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]教程:JDBC 入門(mén) 作者:Maydene Fisher 翻譯:comer 你需要做的第一事情是你與想要使用的 DBMS 建立一個(gè)連接。這包含 2 個(gè)步驟:裝載驅(qū)動(dòng)程序并建立連接。 裝載驅(qū)動(dòng)程序 裝載驅(qū)動(dòng)程序只需要非常簡(jiǎn)單的一行代碼。例如,你想要使用 JDBC-ODBC 橋驅(qū)動(dòng)程序, 可以...
教程:JDBC 入門(mén) 作者:Maydene Fisher 翻譯:comer
你需要做的第一事情是你與想要使用的 DBMS 建立一個(gè)連接。這包含 2 個(gè)步驟:裝載驅(qū)動(dòng)程序并建立連接。
裝載驅(qū)動(dòng)程序
裝載驅(qū)動(dòng)程序只需要非常簡(jiǎn)單的一行代碼。例如,你想要使用 JDBC-ODBC 橋驅(qū)動(dòng)程序, 可以用下列代碼裝載它:
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
你的驅(qū)動(dòng)程序文檔將告訴你應(yīng)該使用的類(lèi)名。例如, 如果類(lèi)名是 jdbc.DriverXYZ ,你將用代碼以下的代碼裝載驅(qū)動(dòng)程序:
Class.forName("jdbc.DriverXYZ");
你不需要?jiǎng)?chuàng)建一個(gè)驅(qū)動(dòng)程序類(lèi)的實(shí)例并且用 DriverManager 登記它,因?yàn)檎{(diào)用 Class.forName 將自動(dòng)將加載驅(qū)動(dòng)程序類(lèi)。如果你曾自己創(chuàng)建實(shí)例,你將創(chuàng)建一個(gè)不必要的副本,但它不會(huì)帶來(lái)什么壞處。
加載 Driver 類(lèi)后,它們即可用來(lái)與數(shù)據(jù)庫(kù)建立連接。
建立連接
第二步就是用適當(dāng)?shù)尿?qū)動(dòng)程序類(lèi)與 DBMS 建立一個(gè)連接。下列代碼是一般的做法:
Connection con = DriverManager.getConnection(url, "myLogin", "myPassword");
這個(gè)步驟也非常簡(jiǎn)單,最難的是怎么提供 url。如果你正在使用 JDBC-ODBC 橋, JDBC URL 將以 jdbc:odbc 開(kāi)始:余下 URL 通常是你的數(shù)據(jù)源名字或數(shù)據(jù)庫(kù)系統(tǒng)。因此,假設(shè)你正在使用 ODBC 存取一個(gè)叫 "Fred" 的 ODBC 數(shù)據(jù)源,你的 JDBC URL 是 jdbc:odbc:Fred 。把 "myLogin" 及 "myPassword" 替換為你登陸 DBMS 的用戶(hù)名及口令。如果你登陸數(shù)據(jù)庫(kù)系統(tǒng)的用戶(hù)名為 "Fernanda" 口令為 "J8",只需下面的 2 行代碼就可以建立一個(gè)連接:
String url = "jdbc:odbc:Fred";
Connection con = DriverManager.getConnection(url,"Fernanda", "J8");
如果你使用的是第三方開(kāi)發(fā)了的 JDBC驅(qū)動(dòng)程序,文檔將告訴你該使用什么 subprotocol, 就是在 JDBC URL 中放在 jdbc 后面的部分。例如, 如果驅(qū)動(dòng)程序開(kāi)發(fā)者注冊(cè)了 acme 作為 subprotocol, JDBC URL 的第一和第二部分將是 jdbc:acme。驅(qū)動(dòng)程序文檔也會(huì)告訴你余下 JDBC URL 的格式。JDBC URL 最后一部分提供了定位數(shù)據(jù)庫(kù)的信息。
如果你裝載的驅(qū)動(dòng)程序識(shí)別了提供給 DriverManager.getConnection 的 JDBC URL ,那個(gè)驅(qū)動(dòng)程序?qū)⒏鶕?jù) JDBC URL 建立一個(gè)到指定 DBMS 的連接。正如名稱(chēng)所示,DriverManager 類(lèi)在幕后為你管理建立連接的所有細(xì)節(jié)。除非你是正在寫(xiě)驅(qū)動(dòng)程序,你可能無(wú)需使用此類(lèi)的其它任何方法,一般程序員需要在此類(lèi)中直接使用的唯一方法是 DriverManager.getConnection。
DriverManager.getConnection 方法返回一個(gè)打開(kāi)的連接,你可以使用此連接創(chuàng)建 JDBC statements 并發(fā)送 SQL 語(yǔ)句到數(shù)據(jù)庫(kù)。在前面的例子里,con 對(duì)象是一個(gè)打開(kāi)的連接,并且我們要在以后的例子里使用它。