在JDBC中,事務是默認自動提交的。事務特性:原子性,一致性,隔離性,持久性。事務是數據庫的概念,JDBC支持事務,本質還是在數據庫中實現的。
常用方法:
Connection.getAutoCommit();
Connection.setAutoCommit();
Connection.commit()
Conncttion.rollback();
批量處理:
降低應用程序和數據庫之間的訪問次數,更加高效。
Statement:addBatch(String sql)
PreparedStatement:addBatch()
executeBatch() 將所有的SQL語句發送到數據庫進行處理。
clearBatch() 清空所有SQL語句。
關聯操作時獲取自動主鍵的方法:
PreparedStatement ps = conn.preparedStatement(sql,new String[]{"deptno"});
ResultSet rs = ps.getGeneratedKeys(); 獲取主鍵值所在的rs.
rs.next();
int deptno = rs.getInt(1);
分頁:
Oracle:select * from (select rownum rn, t.* from (select * from emp order by sal) t) where rn between ? and ?;
MySQL:select * from t limit begin,pageSize
DAO(Data access Object)數據訪問對象。封裝對數據庫的訪問。
目的:數據訪問邏輯和業務邏輯分開。