1.JDBC操作數據庫的步驟:註冊數據庫驅動,建立數據庫連接,創建一個statement,執行sql語句,處理結果集,關閉數據庫連接。
2.JDBC中Statement和PreparedStatement的區別:
PreparedStatement是預編譯的,將SQL放入數據庫編譯檢查,效率高於Statement
PreparedStatement支持動態SQL,相對於Statement更加靈活
PreparedStarement可以防止SQL注入,安全性高於Statement
3.mysql連接導入的包
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.25</version>
</dependency>
3.1線程池DBCP需要導入jar包
<dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version>1.4</version>
</dependency>
<dependency>
<groupId>commons-pool</groupId>
<artifactId>commons-pool</artifactId>
<version>1.5.4</version>
</dependency>
4.連接池
4.1直接使用DriverManager的問題:它是無節制創建連接,當併發數量過大時,會導致數據庫奔潰;
4.2使用連接池有什麼好處:控制連接數量;連接池緩存了一批連接,可以複用連接,提高效率;
4.3有哪些連接池:DBCP;C3P0
5.JDBC對事務的支持
5.1自動管理事務:JDBC默認自動提交事務,在execute(),executeQuery(),executeUpdate()等後
5.2手動管理事務:conn.setAutoCommit(false);//取消自動提交事務
conn.commit();conn.rollback();
5.3什麼是事務
原子性:事務是一個完整的過程,要麼成功,要麼失敗;
一致性:事務前後的數據要保持一致;
隔離性:事務過程中的數據不能被別人訪問;
持久性:事務完成後就永久有效;
6.分頁查詢
6.1假分頁:第一次查詢出的所有數據,將數據存入內存裏面,後面的查詢不在訪問數據庫,直接從內存中取數
真分頁:節約內存,每次執行分頁查詢