標籤:java eclipse jdbc sql server j2ee
我想大家都知道ODBC是什嗎?ODBC(OpenDatabaseConnectivity,開放資料庫互連)是微軟公司開放服務結構(WOSA,WindowsOpenServicesArchitecture)中有關資料庫的一個組成部分,它建立了一組規範,並提供了一組對資料庫訪問的標準API(API)。
JDBC(Java Data Base Connectivity,java資料庫連接)是一種用於執行SQL語句的Java API,可以為多種關聯式資料庫提供統一訪問,它由一組用Java語言編寫的類和介面組成。其實他們都是一樣的,為串連資料庫提供一組API!
理解JDBC
提供了統一方式訪問資料庫的API,提供獨立於平台的資料庫訪問,對專有的資料庫問題的是透明的。
JDBC驅動程式
我們來看一個圖,JAVA引用程式是通過驅動呢來和資料庫進行串連的!串連不同的資料庫載入不同的驅動!
例如我們串連sql server 資料庫,那麼我們就要載入sql server 驅動,首先要從網上下載相應的驅動包sqljdbc_4.0.2206.100_chs.tar如果你的資料庫是sql server 2008以後版本的, 那麼就可以用這個一個(sqljdbc4.jar)就可以了,當然如果是以前的,你可以查一下我沒研究過,但我想說(你真執著!)。
看一下用Eclipse 串連sql server 資料庫的用法!有圖有真相!
首先開啟Eclipse後,隨便的簡曆一個java 項目,然後隨便的建一個包,包下邊在建立一個類!
然後按右鍵項目名,選擇Build Path 然後在選擇Configure Build Path….
然後選擇上邊的Libraries,單擊Add External JARs…. 然後找到你從網上下載好的sqljdbc4.jar檔案, 一定要下載好正確的檔案,否則你會很後悔!所以建議你從這裡下載(標準的sqljdbc4.jar)!
確定好有sqljdbc.jar檔案以後(一定要看好尾碼名),就可以單擊OK了。
然後,當寫代碼的時候的驅動的路徑就放在java.sql.Driver檔案中,到時候為了防止寫錯,可以來這裡粘貼!而他真實使用的驅動類就放在com.microsoft.sqlserver.jdbc的包中,想看一下直接進去找,裡邊類有很多,具體什麼作用直接去網上查就可以了!
然後就可以進行編碼了,編碼前首先要引入幾個檔案,java.sql.Connection; java.sql.DriverManager; java.sql.PreparedStatement; java.sql.ResultSet;在程式中就可以直接使用這幾個類了!
<span style="font-size:18px;">package com.tgb;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;public class jdbcConn {public static void main(String[] args) throws Exception {// TODO Auto-generated method stubjdbcConn.test();}public static void test() throws Exception{Connection conn = null;PreparedStatement ps=null;ResultSet rs= null;try {//定義驅動的路徑,該路徑在services下的java.sql.Driver中。String driverPath="com.microsoft.sqlserver.jdbc.SQLServerDriver";//載入驅動Class.forName(driverPath);//是從當前JVM的載入器(可能多個)中選取適合的資料庫驅動並獲得串連conn=DriverManager .getConnection("jdbc:sqlserver://localhost:1433; DatabaseName=DB_ChargeSystem","sa","123456");//SQL語句String sql = "select * from T_UserInfo";//向已經串連的資料庫中發送sql語句,該sql語句在PreparedStatement對象中已經驚醒了編譯!ps = conn.prepareStatement(sql);//返回sql語句的執行結果!rs = ps.executeQuery(); //對結果進行操作,現將他列印出來, 在實際中進行更複雜的操作!while (rs.next()) {System.out.println(rs.getString(1));}} catch (Exception e) {// TODO: handle exceptione.printStackTrace();}finally{//關閉所有開啟的串連,try {rs.close();} catch (Exception e2) {// TODO: handle exceptione2.printStackTrace();}finally{try {ps.close();} catch (Exception e3) {// TODO: handle exceptione3.printStackTrace();}finally{conn.close();}}}}}</span>
這個只是一個簡單的執行個體,在實際的應用中我們還要好好的對這個方法進行進一步的封裝!然後就可以代碼簡化很多!
上邊的執行個體為sql server資料庫的串連,其實其他資料庫的串連跟這個本質上是一樣的。儘管JDBC在JAVA語言層面實現了統一,但不同資料庫仍舊有許多差異。為了更好地實現跨資料庫操作,於是誕生了Hibernate目,Hibernate是對JDBC的再封裝,實現了對資料庫操作更寬泛的統一和更好的可移植性。
期待進一步的學習!
J2EE的13個規範之(二) JDBC 及其使用