1. 單表查詢如果存在 表中字段與類中屬性名稱不一致 解決辦法:
1. 在做查詢時用別名;
2. 自建映射關係;
2. 多表關聯查詢,怎麼將兩個表的數據封裝問題:
1. 在主表的基礎上 重新創建一個主表的 vo類 ,讓vo類繼承主表對應的pojo ,
在vo中定義 被關聯表的字段,在做關聯查詢時,對select 後邊的字段做規範,
使查詢後獲得視圖中的字段與 vo類的屬性名稱相同, 這樣可以自動封裝;
2. 在主表對應的pojo類中創建被關聯的表對應的pojo 屬性,然後自建映射關係:
關於自建映射:
1. 如果是一對一(多對一)查詢: 要用
2. 如果是一對多查詢: 要用 <collection>
3. 現在再來看mybatis,它跟hibernate相比:
1. db.properties 都需要配置
2. 連接池配置 <----導入db.properties 文件中的基本參數;
3. sqlSessionFactoryBean/LocalSessionFactoryBean 配置
<----1.注入連接池; 這個是相同的;
<----2.注入映射配置; 這個是不同的:
我們來分析一下這個:
在hibernate中,SessionFactory 封裝了連接,封裝了orm映射,然後將 SessionFactory
注入到dao中,你可以獲得模板,用模板來創建對象執行hql或sql來完成數據庫操作;
在mybatis中,SessionFactory 封裝了連接,封裝了mapper映射,這個mapper映射中的東
西要多一點,它不但做了輸入輸出映射,還做了sql語句映射;
4. mapper映射的配置:
1.輸入映射:
2.輸出映射:
3.sql語句映射:
mybatis輸入輸出映射
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.