1. 程式人生 > >0822JDBC--Java連接數據庫

0822JDBC--Java連接數據庫

nbsp date ole next() sel for 自動 color classname

JDBC定義:
JDBC全稱: Java DataBase Connectivity
  獨立於特定數據管理系統, 通用的sql數據庫存取和操作的公共接口, 是一種面向接口編程
JDBC為訪問不同的數據庫提供了不同的途徑

ojdbc6.jar是JDBC連接數據庫所必需的一個驅動包, 這個驅動包裏面的某些特定的方法實現了下面三個接口, 從而可以連接到數據庫
  我們把這種可以實現這三個接口的jar稱為數據庫的驅動包

Connection接口是jdk中定義好的一個數據庫連接的接口, 在javaAPI當中沒有定義任何實現該接口的實現類, 這些實現類將會由數據庫廠商提供, 同樣Statement, ResultSet這兩個接    口都是以這種形式來定義, 這樣的編程模式成為面向接口編程

JDBC主要使用的一個類和三個接口:
DriverManager:


驅動程序管理類, 由這個類來獲取Connection接口的實例

Connection: 獲取數據庫的連接, 設置自動提交方式, 獲取Statement(包括其子類)對象
prepareStatement(sql)-->返回用於執行sql語句的一個對象
callableStatement-->返回執行存儲過程的一個對象
setAutoCommit(true)-->設置數據庫提交方式(自動 / 手動)

Statement: 執行sql語句, 返回結果集
返回boolean類型 prepareStatement.execute()-->用於執行存儲過程和函數
返回ResultSet prepareStatement.executeQuery()-->用於查詢的語句

返回int prepareStatement.executeUpdate()-->用於增, 刪, 改的語句

批量處理:
prepareStatement.addBatch()-->每次處理一條sql語句
返回int[] prepareStatement.executeBatch()-->將一批命令提交給數據庫去執行

以占位符的形式構建sql語句
String sql = "select * from tablename t where t.id=? and t.name in (?,?,?)";
prepareStatemenet.setInt(1, 24)
prepareStatemenet.setString(2, "Tom");
prepareStatemenet.setString(3, "Jack");
prepareStatemenet.setString(4, "Kitty");
prepareStatemenet.executeQuery();
調用設置占位符參數方法, 需要傳兩個參數:
第一個參數: 占位符索引值, 第幾個 ? , 就寫幾, 從1開始數
第二個參數: 占位符的值, 設置什麽類型的參數, 就用什麽類型的方法

ResultSet:
由Statement執行查詢sql之後返回的結果集
返回boolean類型 next()-->判斷結果集是否有下一行數據
獲取數據
resultSet.getString()--->方法可以傳字符串, 表示表中字段的名字, 也可以傳整數, 表示第幾列
resultSet.getInt()
resultSet.getDate()
...
通過對各種方法的重寫來獲取結果集中的數據

java連接數據庫的代碼
定義四個屬性: username, password, url, driver

    private static final String USERNAME = "數據庫登錄名";
    private static final String PASSWORD = "數據庫登錄密碼";
    private static final String URL = "jdbc:oracle:thin:@localhost:1521:xe";
    private static final String DRIVERCLASSNAME = "oracle.jdbc.OracleDriver";

1, 類加載器去加載數據庫的驅動程序

   Class.forName(dirver);
2, 直接調用DriverManager的靜態方法getConnection()獲取連接
Connection conn = DriverManager.getConnection(url, username, password);

0822JDBC--Java連接數據庫