mybatis文件映射之利分布查询时传递多列值
Posted 西西嘛呦
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mybatis文件映射之利分布查询时传递多列值 相关的知识,希望对你有一定的参考价值。
第一步查询:
<resultMap type="com.gong.mybatis.bean.Department" id="MyDeptStep"> <id column="id" property="id"/> <result column="dept_name" property="deptName"/> <collection property="employee" select="com.gong.mybatis.dao.EmployeeMapperPlus.getEmpsByDeptId" column="id"> </collection> </resultMap> <select id="getDeptByIdStep" resultMap="MyDeptStep"> select id,dept_name from tbl_department where id=#{id} </select>
第二步查询:
<select id="getEmpsByDeptId" resultType="com.gong.mybatis.bean.Employee"> select * from tbl_employee where d_id=#{deptId} </select>
我们可以将<collection property="employee" select="com.gong.mybatis.dao.EmployeeMapperPlus.getEmpsByDeptId" column="id"> 这里的column="id"改为column="{deptId=id}"。
需要传入多列值时,可以将多列值封装为map进行传递,比如column="{key1=column1,key2=column2}"。
补充:在collection中有fetchType属性,默认为lazy,可以将其设置为eager关闭全局开启的延迟加载。
以上是关于mybatis文件映射之利分布查询时传递多列值 的主要内容,如果未能解决你的问题,请参考以下文章
14mybatis学习——分布查询association或collection中多列值传参 以及 局部方法延迟加载问题