1、甚么是JDBC
JDBC(Java Database Connection)為java開發者使用數據庫提供了統1的編程接口,它由1組java類和接口組成.是java程序與數據庫系統通訊的標準APl。 JDBC API使得開發人員可使用純 java 的方式來連接數據庫,并履行操作。
sun公司由于不知道各個主流商用數據庫的程序代碼,因此沒法自己寫代碼連接各個數據庫。因此,sun公司決定自己提供1套api,凡是數據庫想與Java進行連接的,數據庫廠商自己必須實現JDBC這套接口。而數據庫廠商的JDBC實現,我們就叫它此數據庫的數據庫驅動。
2、使用JDBC訪問數據庫流程
3、JDBC經常使用接口
1、Driver接口
Driver接口由數據庫廠家提供,對java開發者而言,只需要使用Driver接口就能夠了。
在編程中要連接數據庫,必須先裝載特定廠商的數據庫驅動程序。不同的數據庫有不同的裝載方法。
驅動就是各個數據庫廠商實現的sun公司提出的JDBC接口,即對Connection等接口的實現類的jar文件。
裝載Mysql驅動
Class.forName("com.mysql.jdbc.Driver");
裝載Oracle驅動
Class.forName("oracle.jdbc.driver.OracleDriver");
2、DriverManage接口
1DriverManager是JDBC的管理層,作用于用戶和驅動程序之間。
1DriverManager跟蹤可用的驅動程序,并在數據庫和相應的驅動程序之間建立連接。
3、Connection接口
Connection與特定數據庫的連接(會話),在連接上下文中履行SQL語句并返回結果。
DriverManager的getConnection()方法建立在JDBC URL中定義的數據庫Connection連接上。
連接MYSQL數據庫:
Connection connection = DriverManager.getConnection("jdbc:mysql://host:port/database","user","password");
連接ORACLE數據庫:
Connection connection = DriverManager.getConnection("jdbc:oracle:thin:@host:port:database","user","password");
4、Statement接口
用于履行靜態SQL語句并返回它所生成結果的對象。
3種Statement類:
Statement:
由createStatement創建,用于發送簡單的SQL語句。(不帶參數的)
PreparedStatement:**
繼承自Statement接口,由prepareStatement創建,用于發送含有1個或多個輸入參數的sql語句。PreparedStatement對象,會進行預編譯,比Statement對象的效力更高,并且可以避免SQL注入。我們1般都使用PreparedStatement。
CallableStatement:
繼承自PreparedStatement,由方法prePareCall創建,用于調用存儲進程。
經常使用的Statement方法:
execute():運行語句,返回是不是有結果集。
executeQuery():運行select語句,返回ResultSet結果集。
executeUpdate():運行insert/update/delete操作,返回更新的行數。
5、ResultSet接口
Statement履行SQL語句時,返回ResultSet結果集。
ResultSet提供的檢索不同類型字段的方法,經常使用的有:
getString():取得在數據庫里varchar、char等數據類型的對象。
getFloat():取得在數據庫里Float類型的對象。
getDate():取得在數據庫里Date類型的數據。
getBoolean():取得在數據庫里面Boolean類型的數據。
依序關閉使用的對象及連接:
ResultSet