无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Spring Data JDBC 簡單使用

2022-05-23 20:39 作者:-l0_0l-  | 我要投稿

Spring Data JDBC 簡單使用

目錄

因為想簡化數(shù)據(jù)庫查詢函數(shù)的寫法(相對 JbdcTemplate 而言),從而了解到 Spring Data JDBC (相對于 Spring Data JPA ,功能簡單很多)。

1. 簡單例子

代碼1? User.java


代碼2? UserRepository.java


2. 主鍵不設(shè)置 auto_increment

代碼3? UserCallback.java


3. @MappedCollection

兩張表要有相同內(nèi)容的主鍵

簡單的測試過程在筆記末尾


4. 使用 JdbcTemplate 自定義操作

1. 定義 interface

2. 實現(xiàn) interface ,Spring 搜索該 interface 的實現(xiàn)時,默認(rèn)后綴為 Impl

3. 繼承 interface ,相同函數(shù)「按繼承的聲明順序」決定優(yōu)先級


5. mappedCollection 測試

在文檔中看到 Spring Data JDBC 支持 one-to-one relationship ,one-to-many relationship ,以為可以直接獲取到外鍵關(guān)聯(lián)表的數(shù)據(jù),但經(jīng)過簡單測試后發(fā)現(xiàn),貌似和 自己理解的有偏差。

經(jīng)過測試后得到的結(jié)論:兩張表要有相同內(nèi)容的主鍵。

5.1. 數(shù)據(jù)庫表


5.2. 表對應(yīng)的 Java 對象

代碼4? User.java


代碼5? Role.java


5.3. 測試

CrudRepository.findById ,然后看執(zhí)行的 SQL

5.3.1. 設(shè)置 user.account@Id

1. @MappedCollection(idColumn = "id", keyColumn = "roleId")

2. @MappedCollection(idColumn = "id")

@MappedCollection(idColumn = "id", keyColumn = "roleId") 一樣

3. @MappedCollection(idColumn = "roleId")


5.3.2. 設(shè)置 user.username@Id ,并且 @MappedCollection(idColumn = "id")


5.3.3.Role role 改為 Set<Role> role

會執(zhí)行兩次 SQL

兩者傳入的參數(shù)相同

Spring Data JDBC 簡單使用的評論 (共 條)

分享到微博請遵守國家法律
南皮县| 金塔县| 眉山市| 辉南县| 平遥县| 黔江区| 含山县| 法库县| 彭山县| 岗巴县| 桦南县| 镶黄旗| 吴忠市| 邹城市| 辽源市| 郑州市| 和田市| 股票| 蒲城县| 葵青区| 金阳县| 台北市| 通海县| 三明市| 且末县| 嘉义市| 康定县| 孟村| 乌海市| 瓦房店市| 平安县| 崇阳县| 荆门市| 德化县| 定远县| 天门市| 青冈县| 镇江市| 长沙县| 林周县| 罗江县|