麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 網站 > WEB開發 > 正文

MyBatis(六) resultMap 多表查詢 之(一)

2024-04-27 15:19:04
字體:
來源:轉載
供稿:網友

resultMap 用于映射 對象關系的 時使用。 對照對象的屬性可以很方便的寫出 mapper.xml 映射文件。

下面用一個例子來再次說明resultMap 的映射過程。 場景如下: 需要查詢 多個用戶,當點擊查看是可以查看他的所有的訂單,點擊訂單時可以查看里面的商品

如果要完成這個需求,對應的實體對象如下:

對象結構

Order//訂單類 |--int id |--int userId |--date createTime |--User user User //用戶信息 |--int id |--String name |--String address |--List<Order> orderList //該用戶的所有訂單 |--List<OrderItem> orderItemList//該訂單的詳情記錄 OrderItem //訂單詳情 |--int id |--orderId //訂單id |--int goodsId //商品id |--int number //購買數量 |--goods goods goods //商品對象 |--id |--name |--PRice

下面對應上面的文件 編寫 Mapper.xml 的 ResultMap映射代碼:

映射文件 OrderDao.xml

<!-- 獲取用戶訂單和商品詳情 --> <!-- Order --> <resultMap type="Order" id="findUserAndOrderDetail"> <id column="id" property="id"/> <result column="createTime" property="createTime"/> <!-- User user --> <association property="user" javaType="User"> <id column="userId" property="id"/><!-- 外鍵映射 --> <result column="name" property="name"/> <result column="address" property="address"/> </association> <!-- List<Order> orderItemList --> <collection property="orderItemList" ofType="OrderItem"> <id column="orderId" property="id"/><!-- 外鍵映射 --> <result column="number" property="number"/> <result column="note" property="note"/> <!-- goods --> <association property="goods" javaType="goods"> <id column="goodsId" property="id"/><!-- 外鍵映射 --> <result column="goodsName" property="name"/> <result column="price" property="price"/> </association> </collection> </resultMap><select id="findByName" resultMap="findUserAndOrderDetail"> select order.*, user.name,user.address orderItem.number goods.name goodsName,goods.price from user,order,orderItem,goods where user.id=order.userId and order.id = orderItem.orderId and goods.id = orderItem.goodsId </select>映射 List 時 使用 <collection oftype="包.對象"/>映射 對象時 使用 <association javaType="包.對象">外鍵關聯 使用<id column="goodsId" property="id"/>

接口

public interface OrderDao { public List<Orders> findOrderMapById()throws Exception;}名稱、方法名,返回值,返回類型 做到一致。OrderDao.xml == OrderDao.java (放在同一目錄下)public List<Orders> findOrderMapById()throws Exception;<resultMap type="Order" id="findUserAndOrderDetail">

4、junit測試代碼。

public void findOrderMapById() throws Exception { Sqlsession openSession = sqlSessionFactory.openSession(); OrderDao mapper = openSession.getMapper(OrderDao.class); List<Orders> Orders= mapper.findUserAndOrderDetail(); for(int i=0; i<Orders.size(); i++){ System.out.println(Orders.get(i)); } openSession.close(); }

下一章我們來做一個簡單的例子: 這里寫鏈接內容


上一篇:web前端面試整理

下一篇:java反射技術

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 88xx成人永久免费观看 | 日韩精品中文字幕在线播放 | 免费毛片观看 | 羞羞视频免费入口网站 | 在线观看视频亚洲 | 亚洲一区二区免费 | 青草视频在线观看视频 | 精品国产乱码久久久久久久 | 精精国产xxxx视频在线野外 | 91久久精品一区二区 | 羞羞的视频免费 | 久章草影院 | 国产91影院 | 夜间福利网站 | 精品国产一区二区三区四区在线 | 羞羞视频免费入口网站 | 私库av在线免费观看 | 欧美天堂一区 | 午夜视频播放 | 国产一区二区免费看 | 久久美女色视频 | 毛片中文字幕 | 电影91| 欧美中文在线 | 成人宗合网 | 国产女同疯狂激烈互摸 | 久久亚洲精品久久国产一区二区 | 鸳鸯谱在线观看高清 | 欧美性受xxxx白人性爽 | 99欧美视频 | 黄网站色成年大片免费高 | 极色品影院 | 草妞视频| 国产中出在线观看 | 日韩视频一 | 七首小情歌泰剧在线播放 | 在线观看中文字幕av | 国产一区二区三区四区五区在线 | 中文字幕亚洲一区二区三区 | 久久久国产精品网站 | av在线免费观看播放 |