1. 程式人生 > >Mybatis 動態SQL和關聯對映

Mybatis 動態SQL和關聯對映

MyBatis動態SQL

可以在MyBatis動態拼湊SQL語句,MyBatis提供了一套標籤,可以實現在XML中動態構建一個SQL語句。與JSTL相似
標籤:


..
..
..



a.頂替一個where關鍵字;
b.過濾掉內容前面多餘的and或or關鍵字
:a.頂替一個set關鍵字
b.過濾掉內容後面多餘的,逗號字元

組合查詢

動態更新

動態拼湊一個update語句

利用構建in條件

Mybatis關聯對映

物件關係對映ORM
實體物件Object
關係型資料庫Relation
(關係型資料庫都是以表結構儲存。非關係型資料庫是以Map結構儲存)
對映Mapping

實體類(物件)<–ORM–>表(資料)
1.實現一個表和一個物件型別對映
(一行記錄對映成一個實體物件)
2.實現物件關聯對映
(將多關聯表資料封裝成具有關係的物件實體)

====不用關係對映====
//查詢id=1的User
User user = userDao.findById(1);
//查詢user_id=1的Book資訊
List list = bookDaofindByUserId(1);

====使用關係對映====
//使用關係對映抓取
User user = userDao.findByid(1);
//獲取使用者筆記本資訊
List list = user.getBooks();

單個物件關聯對映

Book–>User(1個) (AssocMapper.xml)

先用一個SQL查主物件,再另外發送一個SQL載入關聯屬性資料

利用表join查詢,將關聯屬性資料和主物件一起取出

集合物件關聯對映

User–>Book(多個) (ConllectionMapper.xml)

先用一個SQL查主物件,再另外發送一個SQL載入關聯屬性屬性

(適合查詢單個User物件)

利用join查詢一次性取出

(適合查詢多個物件)