02 - Unit010:关联映射
生活随笔
收集整理的這篇文章主要介紹了
02 - Unit010:关联映射
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
關聯映射
什么是?
數據庫中有關聯關系的表,通過實體對象引用的方式體現出來,叫關聯映射.
為什么?
將多表的記錄封裝成實體對象.
何時用?
對數據庫中的表進行多表查詢時.
怎么用?
cn_user------>User
cn_notebook-->Book
public class User{
cnuserid
cnusername
.
.
.
List books; }
public class Book{
cnuserid
cnusername
.
.
.
User user;
}
單個對象的關聯
-
單個SQL語句實現
-
兩條SQL語句實現
多個對象的關聯
-
單個SQL語句實現:一條SQL語句實現,SQL語句復雜,與數據庫交互一次.
-
兩條SQL語句實現:一條語句查詢USER,一條語句查詢BOOK,SQL語句簡單,與數
據庫進行了兩次交互
案例:查詢User關聯Book的相關信息
實現步驟:
定義Dao接口文件
定義Mapper文件
執行測試
練習: 用一條語句實現加載多個關聯對象
select * from cn_user u join cn_notebook b on(u.cn_user_id=b.cn_user_id)where u.cn_user_id=#{userId}mapper文件中定義一個<select>標簽和<resultMap>標簽案例:查詢Book關聯User信息(單個對象關聯)
實現步驟:
定義Dao接口文件
定義Mapper文件
執行測試
一個SQL語句實現關聯查詢
練習:通過兩個SQL語句查詢Book關聯User信息
-
Mapper定義:
<select>cn_notebook全表查詢</select><resultMap>定義Book映射<association>定義User映射</association></resultMap><select>關聯cn_user表查詢</select>
主鍵字段的處理
利用數據自增列作為主鍵時,執行insert操作時,可以在服務器端自動獲取主鍵值
如何實現
<insertuseGeneratedKeys="true" keyProperty="id">創建表:
create table t_emp(id int primary key auto_increment,name varchar(30),age int)作業:
-
利用一個SQL語句實現單個對象關聯
-
利用兩個SQL語句實現多個對象關聯
轉載于:https://www.cnblogs.com/tangshengwei/p/6618435.html
總結
以上是生活随笔為你收集整理的02 - Unit010:关联映射的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Windows 中 SQLite3 使用
- 下一篇: Struts(十六):通过CURD来学习