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

 更新时间:2024年10月15日 16:53:12   作者:普通网友  
在使用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>

总结

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

相关文章

  • Java基础教程之类数据与类方法

    Java基础教程之类数据与类方法

    这篇文章主要介绍了Java基础教程之类数据与类方法,本文是对类的深入探讨,类数据指类的一些属性、参数等,类方法就是类包含的功能方法,需要的朋友可以参考下
    2014-08-08
  • Java实现把文件及文件夹压缩成zip

    Java实现把文件及文件夹压缩成zip

    这篇文章主要介绍了Java实现把文件及文件夹压缩成zip,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03
  • Spring使用AspectJ注解和XML配置实现AOP

    Spring使用AspectJ注解和XML配置实现AOP

    这篇文章主要介绍了Spring使用AspectJ注解和XML配置实现AOP的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-10-10
  • 详解Java实现多线程的三种方式

    详解Java实现多线程的三种方式

    线程(英语:thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。本文总结了Java多线程是三种实现方式,需要的可以参考一下
    2022-03-03
  • Java使用组合模式实现表示公司组织结构功能示例

    Java使用组合模式实现表示公司组织结构功能示例

    这篇文章主要介绍了Java使用组合模式实现表示公司组织结构功能,简单描述了组合模式的概念、功能并结合实例形式分析了Java使用组合模式实现公司组织结构表示功能具体操作步骤与相关注意事项,需要的朋友可以参考下
    2018-05-05
  • JUnit4 Hamcrest匹配器常用方法总结

    JUnit4 Hamcrest匹配器常用方法总结

    这篇文章主要介绍了JUnit4 Hamcrest匹配器常用方法总结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • @TransactionalEventListener的使用和实现原理分析

    @TransactionalEventListener的使用和实现原理分析

    这篇文章主要介绍了@TransactionalEventListener的使用和实现原理分析,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • SpringBoot中必须掌握的常用注解小结

    SpringBoot中必须掌握的常用注解小结

    Spring Boot 提供了大量的注解,用于简化配置和加速程序开发,这篇文章主要来和大家Spring Boot中的常用注解的具体使用,希望对大家有所帮助
    2024-11-11
  • 深入分析JAVA 建造者模式

    深入分析JAVA 建造者模式

    这篇文章主要介绍了JAVA 建造者模式的的相关资料,文中讲解非常详细,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-06-06
  • Java之Jackson使用案例详解

    Java之Jackson使用案例详解

    这篇文章主要介绍了Java之Jackson使用案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-07-07

最新评论