java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > mybatis collection关联查询多个参数

mybatis collection关联查询多个参数方式

作者:普通网友

在使用MyBatis进行关联查询时,往往需要根据多个参数进行查询,例如,使用evtId和businessType作为查询条件,同时在resultMap中配置id和businessType1作为结果映射,这种情况下,可以通过<sql>标签定义参数模板,或者使用@Param注解指定参数名称

mybatis collection 关联查询多个参数

column="{evtId=id,businessType=businessType1}" 

描述

evtId是关联查询的参数,businessType也是。

idresultMap的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>

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文