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