mybatis collection关联查询多个参数方式
作者:普通网友
在使用MyBatis进行关联查询时,往往需要根据多个参数进行查询,例如,使用evtId和businessType作为查询条件,同时在resultMap中配置id和businessType1作为结果映射,这种情况下,可以通过<sql>标签定义参数模板,或者使用@Param注解指定参数名称
mybatis collection 关联查询多个参数
column="{evtId=id,businessType=businessType1}"
描述
evtId
是关联查询的参数,businessType
也是。
id
是resultMap
的id,businessType1也是如此
<resultMap id="BaseResultMap" type="com.kingdom.kdum.event.vo.event.EvtToDoListVO"> <id column="id" jdbcType="BIGINT" property="id" /> <result column="businessType1" jdbcType="INTEGER" /> <result column="businessType2" jdbcType="INTEGER" /> <collection property="annexeBeforeList" ofType="com.kingdom.kdum.event.mapper.read.event.EvtAnnexeReadMapper" column="{evtId=id,businessType=businessType1}" select="com.kingdom.kdum.event.mapper.read.event.EvtAnnexeReadMapper.findEventPicByEventIdAndBsType"> </collection> <collection property="annexeAfterList" ofType="com.kingdom.kdum.event.mapper.read.event.EvtAnnexeReadMapper" column="{evtId=id,businessType=businessType2}" select="com.kingdom.kdum.event.mapper.read.event.EvtAnnexeReadMapper.findEventPicByEventIdAndBsType"> </collection> </resultMap>
查询
<select id="findEventDetailInfo" resultMap="BaseResultMap" parameterType="java.lang.Long"> SELECT <include refid="Base_Column_List"/>,1 as businessType1,2 as businessType2 FROM evt_t_event e where e.id = #{id,jdbcType=BIGINT} AND e.db_status = 1 </select>
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。