1、什麼是JDBC?
JDBC(Java DataBase Connectivity,java數據庫連接)是一種用於執行SQL語句的Java API, 可以爲多種關係數據庫提供統一訪問,它由一組用Java語言編寫的類和接口組成。 而多的這個template,就是模板,是Spring框架爲我們提供的. 所以JDBCTemplate就是Spring對JDBC的封裝,通俗點說就是Spring對jdbc的封裝的模板
2、JDBC的原理
通過Connection這個類獲取數據庫的連接, 然後通過PreparedStatement類處理SQL語句,再通過它的.setObject方法傳入數據, 最後通過方法.executeUpdate()和.executeQuery()執行更新,這就是JDBC的基本原理。 JDBCTemplate幫我們省去了很多麻煩. ②指定數據庫連接參數. 打開數據庫連接. 預編譯並執行SQL語句. 遍歷查詢結果(如果需要的話). 處理拋出的任何異常. 處理事務. 關閉數據庫連接 那麼JDBCTemplate怎麼做到的,這就和spring有關係了 SpringIOC容器將管理數據庫連接的數據源當作普通Java Bean一樣管理, 然後將數據源注入封裝類JdbcTemplate中,: JdbcTemplate的dataSource屬性就是注入配置的數據源。
3、JdbcTemplate主要提供以下五類方法:
- execute方法:可以用於執行任何SQL語句,一般用於執行DDL語句;
- update方法及batchUpdate方法:update方法用於執行新增、修改、刪除等語句;batchUpdate方法用於執行批處理相關語句;
- query方法及queryForXXX方法:用於執行查詢相關語句;
- call方法:用於執行存儲過程、函數相關語句。
4、事務四個特性:原子性,一致性,隔離性,持久性
事務的四大特性(ACID):
1).原子性(atomicity):一個事務必須視爲一個不可分割的最小工作單元,整個事務中的所有操作要麼全部提交成功,要麼全部失敗回滾,對於一個事務來說,不可能只執行其中的一部分操作,這就是事務的原子性。
2).一致性(consistency):數據庫總數從一個一致性的狀態轉換到另一個一致性的狀態。 3
).隔離性(isolation):一個事務所做的修改在最終提交以前,對其他事務是不可見的。
4).持久性(durability):一旦事務提交,則其所做的修改就會永久保存到數據庫中。此時即使系統崩潰,修改的數據也不會丟失。
5、事務的實現
通俗來說就是:多個sql語句堆積到一起,一下子提交上去執行,全執行成功,則執行成功,若有任一處錯誤則事務不成功。
springboot中jdbc事務使用方式:在service層相關方法中使用註解:@Transactional
關於NamedParameterJdbcTemplate
(1)named parameter 即,具名參數: SQL 按名稱(以冒號開頭)而不是按位置進行指定. 具名參數更易於維護, 也提升了可讀性. 具名參數由框架類在運行時用佔位符取代。
(2)NamedParameterJdbcTemplate也可以使用JdbcTemplate的所有方法
(3)NamedParameterJdbcTemplate在springboot開發中很好用,而且可讀性很高
(4)依賴包(不加版本默認使用最新的包)
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
關於java連接數據庫需要的配置
(1)配置mysql連接驅動
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.47</version>
</dependency>
(2)配置userName,password,連接url
一二步缺一不可。