一、JDBC:Java Data Base Connectivity(java數據庫連接)
定義:它是爲了java訪問數據庫編寫的類和接口。包括核心包java.sql和擴展包javax.sql。
JDBC訪問數據庫的流程及原理:
String sql = "select * from student";
Class.forName("com.mysql.jdbc.Driver").newInstance(); //1.加載指定數據庫的驅動程序;
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/simplebbs","root","126"); //2.與數據庫建立連接。
Statement stmt = conn.prepareStatement(sql); //3.創建Statement對象。
//PreparedStatement pstmt = conn.prepareStatement(sql);
stmt.executeQuery(sql);
1.加載指定數據庫的驅動程序。
2.與數據庫建立連接。通過java.sql包裏的DriverManager類裏的getConnection()方法。
3.創建Statement對象。通過Connection的對象conn調用createStatement()方法,或者conn.prepareStatement(sql)方法。
4.執行sql語句。通過Statement的對象執行sql語句。 查詢:stmt.executeQuery(sql);修改:stmt.executeUpdate(sql)。
注意:PreparedStatement和Statement的區別?
二、DataSource(數據源配置):
通過DataSource配置數據庫連接,把連接數據庫當做它的屬性配置在文件裏。這樣就比JDBC那種寫在代碼裏的連接方式方便很多,容易修改。
三、連接池:
當頻繁操作數據庫時,就需要頻繁的與數據庫建立連接。而每次建立和斷開連接都會消耗資源和時間,這樣效率不高。爲了提高效率,我們可以建立一個“池”,預先統一在“池”中建立很多連接,我們需要時,直接取出一個就行。這樣就避免了分別建立多個連接時消耗的資源。(和線程池一樣的思想。)