久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

MyBatis映射文件resultMap元素中使用多個(gè)association的方法

瀏覽:4日期:2023-10-19 16:35:00

現(xiàn)在有一張訂單表t_stockorder,其擁有id、code、client_id、merchandise_id、merchandise_number、order_date、operator_id這些字段,其中client_id關(guān)聯(lián)t_client表中code字段,merchandise_id關(guān)聯(lián)t_merchandise表的code字段,operator_id關(guān)聯(lián)t_employee表的code字段。

現(xiàn)在要通過SQL語句將訂單表中t_stockorder的數(shù)據(jù)全部查詢出來,SQL語句如下所示:

select so.id, so.code, c.name cname, m.name mname, so.merchandise_number, so.order_date, e.name ename from inventory.t_stockorder so inner join inventory.t_client c on c.code = so.client_id inner join inventory.t_merchandise m on m.code = so.merchandise_id inner join inventory.t_employee e on e.code = so.operator_id

現(xiàn)在要在mapper映射文件中添加動(dòng)態(tài)Sql語句,一般情況下映射文件中的resultMap元素中只可以有一個(gè)association,那如何添加多個(gè)association到resultMap中呢?正確代碼如下圖所示:

<resultMap type='com.lwz.entity.Stockorder'> <id property='id' column='id' /> <result property='code' column='code' /> <result property='merchandiseNumber' column='merchandise_number' /> <result property='orderDate' column='order_date' /> <association property='client' javaType='Client' resultMap='ClientResultMap'></association> <association property='merchandise' javaType='Merchandise' resultMap='MerchandiseResultMap'></association> <association property='employee' javaType='Employee' resultMap='EmployeeResultMap'></association> </resultMap> <resultMap type='com.lwz.entity.Client'> <id property='code' column='code' /> <result property='name' column='cname' /> </resultMap> <resultMap type='com.lwz.entity.Merchandise'> <id property='code' column='code' /> <result property='name' column='mname' /> </resultMap> <resultMap type='com.lwz.entity.Employee'> <id property='code' column='code' /> <result property='name' column='ename' /> </resultMap> <!--通過實(shí)體作為篩選條件查詢--> <select resultMap='StockorderMap'> select so.id, so.code, c.name cname, m.name mname, so.merchandise_number, so.order_date, e.name ename from inventory.t_stockorder so inner join inventory.t_client c on c.code = so.client_id inner join inventory.t_merchandise m on m.code = so.merchandise_id inner join inventory.t_employee e on e.code = so.operator_id <where> <if test='id != null'>and id = #{id} </if> <if test='code != null and code != ’’'>and so.code = #[code] </if> <if test='client != null'>and client_id = #{client.code} </if> <if test='merchandise != null'>and merchandise_id = #{merchandise.code} </if> <if test='merchandiseNumber != null'>and merchandise_number = #{merchandiseNumber} </if> <if test='orderDate != null'>and order_date = #{orderDate} </if> <if test='employee != null'>and operator_id = #{employee.code} </if> </where> </select>

resultMap中association的各個(gè)屬性的含義:

property:映射實(shí)體類的字段或?qū)傩浴? colum:數(shù)據(jù)庫(kù)的列名或者列標(biāo)簽別名。 javaTyp:完整java類名或別名。 jdbcType支持的JDBC類型列表列出的JDBC類型。這個(gè)屬性只在insert,update或delete的時(shí)候針對(duì)允許空的列有用。 resultMap: 一個(gè)可以映射聯(lián)合嵌套結(jié)果集到一個(gè)適合的對(duì)象視圖上的ResultMap。這是一個(gè)替代的方式去調(diào)用另一個(gè)select語句。

到此這篇關(guān)于MyBatis映射文件resultMap元素中使用多個(gè)association的方法的文章就介紹到這了,更多相關(guān)MyBatis 多個(gè)association內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

相關(guān)文章:
主站蜘蛛池模板: 涿鹿县| 涞源县| 德化县| 嫩江县| 桂东县| 高唐县| 揭西县| 资中县| 麟游县| 东阿县| 肥乡县| 贺兰县| 黄陵县| 宜兰市| 格尔木市| 西畴县| 连平县| 临汾市| 南溪县| 临海市| 商南县| 蛟河市| 资溪县| 大邑县| 买车| 锡林郭勒盟| 波密县| 偏关县| 虹口区| 长丰县| 牡丹江市| 连云港市| 珠海市| 炉霍县| 扶绥县| 姜堰市| 绥中县| 南投县| 宣恩县| 盐池县| 济源市|