java_第一年_JDBC(1)

  JDBC(Java Data Base Connectivity),用於實現java語言編程與數據庫鏈接的API。java

數據庫驅動:應用程序並不能直接使用數據庫,而須要經過相應的數據庫驅動程序後再操做數據庫;而JDBC就是實現應用程序去加載具體的驅動;mysql

應用程序---JDBC--->驅動程序-->數據庫sql

創建JDBC鏈接:數據庫

  • 導入JDBC包:
import java.sql.*

 

  • 註冊JDBC驅動程序並建立鏈接對象conn:
Class.forName("com.mysql.jdbc.Driver");//加載驅動 Connection conn = null; conn = DriverManager.getConnection("jdbc:mysql://hostname:port/db_name","db_username","db_password");//獲取連接 conn.close();

這樣,咱們的JDBC鏈接即已建好。編程

交互spa

鏈接創建後,一般經過JDBC Statement、CallableStatement和PrepareStatement這3個接口進行交互。code

而建立這3種接口的方法分別是Connection類中的createStatement()、prepareStatement(sql)、prepareCall(sql)方法;除了這3種方法外,Connection類還提供了對象

setAutoCommit(boolean autoCommit)方法:是否事務自動提交;blog

commit()方法:提交事務;接口

roolback()方法:回滾事務

  • Statement:用於使用靜態SQL語句,不能接受參數;

建立Statement對象:

Statement stmt = null; try{ stmt = conn.createStatement(); }catch(SQLException e){ ... }finally{ ... } 

該對象經常使用的方法:

boolean execute(String SQL ):檢索SQL運行後結果是否存在,有則返回true,沒有則返回false;

int executeUpdate(String SQL):檢索SQL語句所影響的行數,經常使用於會影響多行改動的SQL語句,如INSERT、UPDATE、DELETE;

ResultSet executeQuery(String SQL):返回運行後的結果集合,經常使用於SELECT;

addBatch(String sql):把多條sql語句放到一個批處理中;

executeBatch():批量處理一批sql語句;

關閉Statement對象:

finally{ stmt.close(); }
  • PreparedStatement:擴展了Statement接口,可支持動態,可接受參數,參數類型只使用IN;

建立PreparedStatement對象:

PreparedStatement pstmt = null; try{ String SQL = "Update employees SET age = ? WHERE id = ?"; pstmt = conn.prepareStatement(SQL); ... }catch{ ... }finally{ pstmt.close(); }

其中?即表示要輸入的參數。經過stmt.setXXX(number,value);輸入參數,其中XXX表示參數數值類型,number表示?在程序出現的位置,從1開始計數;value表示輸入參數的值;

Statement對象可用的方法均可以使用。

  • CallableStatement:相比於PreparedStatement對象,其參數類型有IN、OUT、INOUT三種;

建立CallableStatement對象:

CallableStatement cstmt = null; try{ String strSQL = "{call getEmpName(?,?)}"; cstmte = conn.prepareCall(SQL); ... }catch(SQLException e){ ... }finally{ cstmt.close(); }

對比前面的3種方法,CallcbleStatement多了一種方法:registerOutParameter(),該方法將JDBC數據類型綁定到存儲過程並返回預期數據類型。

當調用存儲過程,可使用適當的 getXXX()方法從 OUT參數中檢索該值。 此方法將檢索到的SQL類型的值轉換爲對應的Java數據類型。

Jdbc程序運行完後,切記要釋放程序在運行過程當中,建立的那些與數據庫進行交互的對象,這些對象一般是ResultSet, Statement和Connection對象,特別是Connection對象,它是很是稀有的資源,用完後必須立刻釋放,若是Connection不能及時、正確的關閉,極易致使系統宕機。Connection的使用原則是儘可能晚建立,儘可能早的釋放。
相關文章
相關標籤/搜索