目錄
2、載入註冊驅動:為什麼Class.forName(“com.mysql.jdbc.Driver”); 一行程式碼就可以完成載入、註冊驅動操作?
7、語句物件PreparedStatement 和Statement 的比較:
9、掌握連線池(也叫資料來源DataSource)-獲取連線物件
jdbc封裝的dao層的模板類jdbcTemplate來運算元據庫:
關於mysql,需要掌握的基礎(二):JDBC和DAO層
1、瞭解jdbc是什麼?
■ java DataBase Connectivity,java連線資料庫,通過java程式碼運算元據庫,可以進行CRUD
執行SQL語句的java API,JDBC 本身是java連線資料庫的一個標準,【需要載入連線驅動程式-連線資料庫的jar包】,jdbc是進行資料庫連線的抽象層,由java編寫的一組類和介面組成,介面的實現由各個資料庫廠商來完成。
2、載入註冊驅動:為什麼Class.forName(“com.mysql.jdbc.Driver”); 一行程式碼就可以完成載入、註冊驅動操作?
① Class.forName(); 會把com.mysql.jdbc.Driver 這份位元組碼
② 當一份位元組碼別載入進JVM時,就會執行該位元組碼中的靜態程式碼塊,在該靜態程式碼塊中有: java.sql.DriverManager.
3、原始方式-獲取連線物件:
1):載入註冊驅動:
Class.forName(“com.mysql.jdbc.Driver”);
2):獲取連線:通過DriverManger類的getConnection方法來獲取連線物件:
Connection conn = DriverManger.getConnection(url,username, password);
4、JDBC 運算元據庫的步驟:【賈璉欲執事】
1)賈:載入註冊驅動
2)璉:獲取連線物件
3)欲:建立語句物件
4)執:執行SQL語句
5)事:釋放資源
5、瞭解DAO層是什麼?
■ Data Access Object 資料訪問物件,跟jdbc一樣本身是一個介面,封裝了資料的增刪改查(CRUD)操作。
6、DAO誕生的背景:
■ 以前我們是把資料庫的操作程式碼編寫到客戶端裡:
①跟業務程式碼混雜在一起;②而且每次運算元據庫時都需要重複書寫程式碼。
■ DAO封裝了資料的增刪改操作,資料訪問介面。
7、語句物件PreparedStatement 和Statement 的比較:
■ 拼接sql方面和安全方面【注入問題】
8、開發中獲取自動生成主鍵:
■ 獲取主鍵的作用:
---註冊時,一次性填寫過多資訊,不友好,分成兩次填寫唄【**獲取主鍵,將其傳遞給第二個填寫註冊資訊介面**】
■ 原始方式-獲取主鍵:
9、掌握連線池(也叫資料來源DataSource)-獲取連線物件
■常用的連線池中的druid(德魯伊):阿里巴巴提供的,號稱世界最好的連線池
✿ 從jdbc—》dao層—》myBatis:
jdbc封裝的dao層的模板類jdbcTemplate來運算元據庫:
● 使用BeanHandler和BeanListHandler要注意,物件的屬性名和表中的列名需要相同,不同報錯。
■ jdbc--->jdbc模板(通用結果集處理器[需要保證類的屬性名和表名相同])----》ORM框架(MyBatis框架)