您好,登錄后才能下訂單哦!
本篇內(nèi)容主要講解“Mybatis的多對一舉例分析”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“Mybatis的多對一舉例分析”吧!
多對一
(1)修改Product.java,為Product增加category屬性
private int id; private String name; private float price; private Category category; setter,getter,tostring
(2)增加Product.xml
提供Product.xml,通過listProduct配置關(guān)聯(lián)查詢的sql語句。
然后通過resultMap ,進(jìn)行字段和屬性的對應(yīng)。
使用association 進(jìn)行多對一關(guān)系關(guān)聯(lián),指定表字段名稱與對象屬性名稱的一一對應(yīng)關(guān)系
注: Category的id 字段 和Product的id字段同名,Mybatis不知道誰是誰的,所以需要通過取別名cid,pid來區(qū)分。name字段同理。
<mapper namespace="com.how2java.pojo"> <resultMap type="Product" id="productBean"> <id column="pid" property="id" /> <result column="pname" property="name" /> <result column="price" property="price" /> <!-- 多對一的關(guān)系 --> <!-- property: 指的是屬性名稱, javaType:指的是屬性的類型 --> <association property="category" javaType="Category"> <id column="cid" property="id"/> <result column="cname" property="name"/> </association> </resultMap> <!-- 根據(jù)id查詢Product, 關(guān)聯(lián)將Orders查詢出來 --> <select id="listProduct" resultMap="productBean"> select c.*, p.*, c.id 'cid', p.id 'pid', c.name 'cname', p.name 'pname' from category_ c left join product_ p on c.id = p.cid </select> </mapper>
(3)在mybatis-config.xml中增加對于Product.xml的映射
<mappers> <mapper resource="com/how2java/pojo/Category.xml"/> <mapper resource="com/how2java/pojo/Product.xml"/> </mappers>
(4)在TestManyToOne中
List<Product> ps = session.selectList("listProduct"); for (Product p : ps) { System.out.println(p+" 對應(yīng)的分類是 \t "+ p.getCategory()); }
到此,相信大家對“Mybatis的多對一舉例分析”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。