J2EE的13个规范之(二) JDBC 及其使用
? ? ? ? 我想大家都知道ODBC是什么?ODBC(OpenDatabaseConnectivity。開放數據庫互連)是微軟公司開放服務結構(WOSA,WindowsOpenServicesArchitecture)中有關數據庫的一個組成部分。它建立了一組規范,并提供了一組對數據庫訪問的標準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的再封裝,實現了對數據庫操作更寬泛的統一和更好的可移植性。
?????? 期待進一步的學習!
轉載于:https://www.cnblogs.com/yxwkf/p/5174371.html
總結
以上是生活随笔為你收集整理的J2EE的13个规范之(二) JDBC 及其使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Thinkphp kindeditor
- 下一篇: IIS虚拟目录实现与文件服务器网络驱动器