將Java程序與數據庫進行連接的操作方法
一個網絡關系數據庫應用系統(tǒng)是一個三層次結構??蛻魴C與服務器采用網絡連接,客戶機端應用程序按通信協(xié)議與服務器端的數據庫程序通信;數據庫服務程序通過SQL命令與數據庫管理系統(tǒng)通信。
Java程序與數據庫連接方法有兩種。一種是使用JDBC-ODBC橋接器與數據庫連接,一種是用純Java的JDBC驅動程序實現與數據庫連接。
使用JDBC-ODBC 橋接器與數據庫連接
Java程序使用JDBC-ODBC 橋接器與數據庫連接,Java程序與數據庫通信的過程是:
先由數據庫應用程序向ODBC驅動管理器發(fā)出API調用,ODBC驅動管理器將這個調用轉換成向數據庫管理系統(tǒng)的ODBC驅動程序調用,數據庫管理系統(tǒng)又將這個調用轉換成對操作系統(tǒng)的數據輸入/輸出調用。最后,操作系統(tǒng)從數據庫中得到實際數據逐級返回。
數據庫編程首先要設置數據源,在ODBC中設置數據源的步驟如下:
打開Windows控制面板中的管理工具。對于windows XP:選擇“性能維護”>>“管理工具”>>“數據源(ODBC)”; 對于windows 2000:選擇“管理工具”>>“數據源”。
打開“數據源”。出現ODBC數據源管理器對話框,顯示現有的數據源名稱。
選擇“用戶DSN”,單擊“添加”按鈕,出現安裝數據源驅動程序對話框。Access(*.mdb)數據源,單擊“完成”按鈕,出現“創(chuàng)建數據源對話框,鍵入需要創(chuàng)建的數據源名,并為創(chuàng)建的數據源選擇一個數據庫表。
單擊數據庫區(qū)域的“選擇”按鈕,選擇需要的數據庫表。當需要為數據源授權訪問級別時,單擊“高級”按鈕。設置登錄名和密碼后,單擊“確定”按鈕,完成Access數據庫在ODBC管理器中的配置。
如果還沒有數據庫表,則需創(chuàng)建一個數據庫表。
數據源就是數據庫,在設定了數據源的基礎上,Java程序要訪問數據庫表,還要建立JDBC-ODBC橋接器,讓程序與數據庫連接。以后,程序就可向數據庫發(fā)送SQL語句,處理數據庫返回的結果。Java數據庫連接JDBC(Java DataBase Connectivity)由一組用Java語言編寫的類和接口組成,JDBC是Java程序與數據庫連接API。它能做以下三件事情:與某個數據庫建立連接、向數據庫發(fā)送SQL語句和處理數據庫返回的結果。
調用類方法Class.forName(String s)能建立JDBC-ODBC橋接器。例如,代碼:
try{ Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”); }catch(Exception e){}
為Java程序加載了驅動程序。
【例】說明與數據庫連接的方法connectByJdbcOdbc(),該方法按給定的數據庫URL、用戶名和密碼連接數據庫,如果連接成功,方法返回連接對象,連接不成功,則返回空。
public static connection connectByjdbcOdbc(String url, String username, String password){ Connection con = null; try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //加載ODBC驅動程序 } catch (Exception e){ e.printStackTrace(); return null; //連接失敗 } try{ con = DriverManager.getConnection(url, username, password); } catch (SQLExceotuib e){ e.printStackTrace(); return null; //連接不成功 } return con; //連接成功 }
以下代碼是對connectByJdbcOdbc()方法的一個調用,數據庫連接成功,彈出數據庫連接成功信息窗,否則彈出數據庫連接不成功信息窗。
if ((con = connectByJdbcOdbc("jdbc:odbc:redsun", "xia", "1234")) != null){ JoptionPane.showMessageDialog(null, "數據庫連接成功"); try{ con.close(); con = null; } catch (SOLException e){} } else JOptionPane.showMessageDialog(null, "數據庫連接失敗");
用純Java的JDBC驅動程序實現與數據庫連接
Java程序也可以用純Java的JDBC驅動程序實現與數據庫連接。這種方法應用較廣泛,但是需要下載相應的驅動程序包,因為不同的數據庫的連接代碼可能不同,連接不同的數據庫,加載的驅動程序也可能不同。例如,連接SQLServer的驅動程序在www.msdn.com網站下載,有3個包:msbase.jar,mssqlserver.jar和msutil.jar,并要求將這3個包放在jdk\jre\lib\ext\目錄下,或在CLASSPATH中設置其放置位置。
使用純Java的JDBC驅動程序實現與數據庫連接的過程如下:
加載驅動程序。有兩種加載驅動程序的方式:
一各是將驅動程序添加到java.lang.System的屬性jdbc.drivers中。這是一個DriverManager類加載驅動程序類名的列表,表元用冒號分隔。
另一種方式是從相關的網站下載驅動程序后,在程序中利用Class.forName()方法加載指定的驅動程序。例如:
Class.forName(“com.microsoft.jdbc.sqlserver.SQLServerDriver”);
創(chuàng)建指定數據庫的URL。數據庫的URL對象類似網絡的統(tǒng)一資源定位符,其格式是:
jdbc:subProtocol:subName://hostname:port:Databasename=XXX
其中,subprotocol是某種驅動程序支持的數據庫連接機制; subName是當前連接機制下的具體名稱;hostName是主機名;port是相應的連接端口;DatabaseName是要連接的數據庫名稱。例如,以下代碼可以是一個數據庫的URL:
jdbc:Microsoft:sqlserver://localhost:1433;Databasename=ksinfo
該數據庫的URL說明利用miscrosoft提供的機制,用sqlserve驅動,通過1433端口訪問本機上的ksInfo數據庫。
建立連接。驅動程序管理器(DriverManager)的方法getConnection()建立連接。
【例】說明與數據庫連接的靜態(tài)方法connectByJdbc(),該方法按給定的數據庫URL、用戶名和密碼連接數據庫,如果連接成功,方法返回true,連接不成功,則返回false。
public static Connection conectByJdbc(String url, String username, String password){ Connection con = null; try{ Class.forName( //加載特定的驅動程序 "com.microsoft.jdbc.sqlserver.SQLServerDriver"); } catch (Exception e){ e.printStackTrace(); return null; //連接失敗 } try{ con = DriverManage.getConnection(url, username, password); } catch (SQLException e){ e.printStackTrace(); return null; //連接失敗 } return con; //連接成功 }
相關文章
集合框架(Collections Framework)詳解及代碼示例
這篇文章主要介紹了集合框架(Collections Framework)詳解及代碼示例,文章涉及集合數組的區(qū)別,collection接口,iterator迭代器,list接口及其用法,LinkedHashSet集合等有關內容,具有一定參考價值,需要的朋友可以了解下。2017-11-11Ribbon單獨使用,配置自動重試,實現負載均衡和高可用方式
這篇文章主要介紹了Ribbon單獨使用,配置自動重試,實現負載均衡和高可用方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-12-12詳解rabbitmq使用springboot實現fanout模式
這篇文章主要介紹了rabbitmq使用springboot實現fanout模式,Fanout特點是發(fā)布與訂閱模式,是一種廣播機制,它是沒有路由key的模式,需要的朋友可以參考下2023-07-07