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查詢一次性取出
(適合查詢多個物件)