JDBC-java訪問數據庫

定義:JDBC是一個獨立於數據庫管理系統的,通用的SQL數據庫存取和操做的公共接口sql

    (由JAVA類和接口組成,接口由各數據庫廠家負責實現)數據庫

使用方法:oracle

一、加載驅動  Class.forName(「數據庫驅動全類名」)xml

Class.forName("oracle.jdbc.driver.OracleDriver");  Oracle加載驅動寫法對象

 

二、獲取鏈接  DriverManager.getConnection(鏈接數據庫的URL,數據庫帳號,數據庫密碼)接口

例:(連接本機數據庫)事務

Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl", "帳號", "密碼");
get

(鏈接數據庫的URL爲  jdbc:oracle:thin:@地址:1521:數據庫名)it

(都會返回  Connection)io

 

DatabaseMetaData a = conn.getMetaData()  數據庫源數據

   getMetaData()  返回數據庫源數據

 

三、獲取操做聲明  

Statement a = conn.createStatement();

a.executeUpdate(「增刪改語句」)  (添加和修改時返回的是受影響的記錄條數)

a.executeQuery(「查詢語句」)  (返回 ResultSet 結果集)

 

PreparedStatement   執行編譯語句的操做聲明

特色  是Statement的子類,執行效率高,防止SQL注入

用法  connection 對象.prepareStatement(sql語句)   sql語句能夠用問號做爲佔位符

    替換佔位符   setXXX(佔位符序號,替換的內容)  根據XXX的數據類型和佔位符序號進行內容替換(佔位符序號從1開始)

 

CallableStatement  執行存儲過程的操做聲明

是PreparedStatement的子接口

 

四、處理結果集

ResultSet a = b.executeQuery(「查詢語句」);

遍歷

while(a.next()){

String sno = a.getString("sno");
String cno = a.getString("cno");
String degree = a.getString("degree");
System.out.println(cno+" "+cno+" "+degree);
}

ResultSetMetaData a = b.getMetaData()  返回結果集的源數據

 

next()  判斷並返回是否存在下一行,若是存在就跳轉到下一行

getXXXX(字段序號或字段名稱)  根據字段序號或字段名稱返回XXXX類型的字段數據

frist()  跳轉到首行

last()  跳轉到尾行

getRow()  獲取當前行號

 

五、事務  數據庫中構成單個邏輯工做單元的操做集合

特性ACID  A原子性

       C一致性

       I隔離性

       D制約性

實現  connection對象.setAutoCommit(false)  關閉自動提交

    connection對象.commit()  操做數據以後進行提交

    connection對象.rollback()  若是有數據異常就回滾

 

六、數據庫鏈接池  負責分配、管理和釋放數據庫鏈接

           容許應用程序使用現有的鏈接

  ComboPooledDataSource 數據源  構造方法  ComboPooledDataSource()

                          ComboPooledDataSource(「配置名稱」)  經過配置文件配置項構建數據源的實例

                                                c3p0-config.xml

  方法  setDriverClass  設置驅動類

      setJdbcUrl  設置數據庫地址

      setUser  設置用戶

      setPassword  設置密碼

      setMinPoolSize  設置連接最小數量

      setMaxPoolSize  設置連接最大數量

      setInitialPoolSize  設置初始鏈接數量

      getConnection  獲取連接對象

  用法  可使用單例模式,在整個系統使用一個鏈接池 

 

七、實體類

相關文章
相關標籤/搜索