標籤:style blog java color 使用 資料 io for
一、JDBC的概念
1、 JDBC (Java DataBase Connectivity) Java資料庫連接
a) 主要提供java資料庫應用程式的API支援
2、 JDBC的主要功能
a) 建立和管理與資料來源的串連
b) 發送SQL資料命令到資料來源
c) 提取並處理由資料來源返回的結果集
3、 JDBC可分為兩層
a) 驅動程式管理介面
b) JDBC API
4、 Java.sql包中定義的常用基本的JDBC API
a) 類DriverManager:管理一組JDBC驅動程式的基本服務
b) 介面Connection:獲得與資料庫的串連
c) 介面Statement:用於執行靜態SQL語句,並返回產生的結果集對象
d) 介面ResultSet:表示資料庫結果集的資料表,通常執行查詢資料庫的語句產生
e) 類SQLException:有關資料庫的異常操作
二、JDBC的基礎應用
1、編寫JDBC應用程式的基本步驟
a) 匯入JDBC的包或包括JDBC的包
構建路徑(Building Path)-> 配置路徑
(b)載入JDBC驅動
1 //1.載入驅動2 3 Class.forName("oracle.jdbc.driver.OracleDriver");4 5 Oracle.jdbc.driver.*為包名
(c)建立與資料庫的串連
1 Connection conn = DriverManager.getConnection(url, user, password);
(d)執行SQL語句,與資料庫互動
1 //3.建立statement對象 2 3 Statement st = conn.createStatement(); 4 5 //4.執行Sql語句 6 7 String sql = "select * from TEST"; 8 9 //接收結果集10 11 ResultSet rs = st.executeQuery(sql);
(e)關閉建立的串連
各種關閉
2.執行個體
a.載入驅動程式
Class類中提供載入驅動的方法
Public static Class forName(String className)
Throws ClassNotFoundException
Oracle驅動類的描述符為:oracle.jdbc.driver.OracleDriver
b.建立資料庫的串連
DriverManager提供了getConnection方法可獲得指定資料庫的連線物件(Connecting conn):
Public static Connectioin getConnection(String url, String username, String pwd )throws SQLException
Oracle資料庫的url格式為:
Jdbc:oracle:thin:@<主機名稱或ip>:連接埠號碼:<資料庫名>
c.獲得Statement 對象(Statement st)
Connection類中提供獲得Statement對象的方法
Statement getStatement() throws SQLException
d.Statement類中提供可執行SQL命令的方法
Boolean execute(String SQL) throws SQLException
Result executeQuery(String SQL) throws SQLException
Int executeUpdate(String SQL) throws SQLException
e.ResultSet 可提供對結果集操作的方法
移動結果集操作指標
Boolean next() throws SQLException
由欄位名擷取其值
String getString(String columeName) throws SQLException
三:JDBC的進階應用程式
1.PreparedStatement介面是Statement的子介面,允許使用不同的參數多次使用同一個SQL語句
2.Connection介面提供了建立PreparedStatement對象的方法,可指定SQL語句
PreparedStatement preparedStatement(String Sql) throws SQLException
1 DEMO: 2 3 //問號為預留位置 4 5 String Sql = “insert into tableName values(?,?)” 6 7 PreparedStatement pre = conn.preparedStatement(Sql); 8 9 Pre.setInt(1,99);10 11 Pre.setString(2,”asd”);12 13 Int count = pre.executeUpdate();
3.交易處理
事務:是由相關的SQL操作構成的一個完整的操作單元,該單元作為一個整體來使用要麼全做要麼不做
事務的四個屬性:
原子性:要麼全做,要麼全不做
一致性:事務使資料從一個一致性狀態大另一個一致性狀態
持久性:事務對資料庫的操作時永久的
隔離性:一個事務的操作不影響其他事務的操作即事務與事務之間是獨立的
4.java中的事務操作
Conn.setAutoCommit(false)//取消事務的自動認可 Conn.commit();//事務的提交 Conn.rollback();//事務的復原