JDBC定義:
JDBC(Java Data Base Connectivity,java數據庫鏈接)是一種用於執行SQL語句的Java API,能夠爲多種關係數據庫提供統一訪問,它由一組用Java語言編寫的類和接口組成。JDBC爲工具/數據庫開發人員提供了一個標準的API,據此可 以構建更高級的工具和接口,使數據庫開發人員可以用純 Java API 編寫數據庫應用程序,同時,JDBC也是個商標名。
簡單地說,JDBC 可作三件事:與數據庫創建鏈接、發送 SQL 語句並處理結果。
此實例爲SQLServer2005的驅動連接
Connection conn=null;
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String strConn="JDBC:sqlserver://localhost:1433;DatabaseName=TestData";
String strUser="sa";
String strPassword="";
conn=DriverManager.getConnection(strConn,strUser,strPassword);
Statement stmt=conn.createStatement();
DirverManager類:是JDBC的管理層,做用於用戶和驅動之間。該類負責註冊和加載JDBC驅動。
Connection接口:表明與數據庫的連接,並擁有建立SQL語句的方法,以完成基本的SQL操做,同時爲數據庫事務提供提交和回滾方法。如:上面的例子就是連接到了TestData數據庫。
Statement接口:用於執行不帶參數的簡單SQL語句。建立Statement實例對象後能夠調用JDBC提供的3種執行SQL語句的方法:
(1)executeUpdate()方法,通常用於執行SQL的INSERT,DELETE,UPDATE語句
(2)executeQuery()方法,通常用於執行SQL的SELECT語句,由於 它的返回值是執行SQL語句後產生的一個ResultSet接口的實例(結果集)
(3)execute()方法,即通常它執行的SQL語句既有查詢又有更新值,約等於executeUpdate()和executeQuery()兩個方法的合輯。
PreparedStatement接口:它與Statement 的主要區別
(1)它包含的SQL語句是預編譯的,因此當屢次執行一條SQL語句時用它會更快
(2)在設置參數是能夠用「?」代替。如:
PreparedStatement pstmt=conn.preparedStatement(insert into test values(?,?));
pstmt.setString(1,'gg');
pstmt.setString(2,'123');
ResultSet接口:包含了Statement和PreparedStatement的executeQuery方法中SELECT的結果集。至關於用它來讀取數據庫裏每列的值。
DatabaseMetaData接口:主要是用來獲得數據庫的相關信息的。如:數據庫版本啊。。。
ResultSetMetaData接口:主要是用來獲取數據庫中表的相關信息的。如:表的行數啊。。。java