jdbc學習總結:
1、簡介:
jdbc,直譯爲java鏈接數據庫。實際爲java爲很好的操做數據庫而提供的一套接口,接口的實現(即驅動)由各個數據庫廠商提供。
2、知識要點:
鏈接5要素,3個知識點
3、知識圖譜:
3.1.鏈接執行一條龍:
註冊——>鏈接——>獲取session會話——>執行SQL——>返回結果集
3.2.小知識:
1.s p比較3方向:安全、效率、預編譯
2.批處理:添加、執行、清空
3.自增加:
4、詳情:
4.1.鏈接操做:
//註冊驅動
Class.forName("Driver.class");
//獲取鏈接
Connection conn = DriverManager.getConnection(url,username,password);
//獲取session會話:
Statement stmt = conn.createStatement();
//執行更新語句
stmt.executeUpdate(sql);
//執行查詢操做,返回結果集
ResultSet rs = stmt.executeQuery(sql);
//獲取預編譯會話
PreparedStatement pstmt = conn.preparedStatement(sql)
pstmt.executeUpdate();
pstmt.executeQuery();
4.2 3個知識點:
1.sp比較: PrepareStatement 執行預編譯sql,
安全性:防注入;
效率高:oracle會用緩衝池
會執行預編譯
2.批量:
//加入批量
pstmt.addBatch();
//執行批量(等所有sql加入批量,再執行批量)
pstmt.addBatch();
//清空批量
pstmt.clearBatch();
3.自增加不會用,仍是擱這吧:(估計是因爲本身執行的那個表沒有加序列的緣由)
//獲取執行自增sql的預編譯會話
pstmt = conn.prepareStatement(sql,PreparedStatement.RETURN_GENERATED_KEYS);
//執行sql
pstmt.executeUpdate();
// 獲取執行自增sql後的自增加列
ResultSet rs = pstmt.getGeneratedKeys();
//獲取自增加值:
while(rs.next){
rs.getInt(1);
}
5、零散總結
1.導驅動包時,注意與數據庫版本一致;
2.這裏沒有涉及sql調優,之後再學;
3.沒有涉及鏈接池操做,之後在學;
4.事務管理:conn.setAutoCommit(boolean);