mybatis利用association或collection传递多参数子查询

所属分类: 软件编程 / java 阅读数: 44
收藏 0 赞 0 分享

有时候我们在查询数据库时,需要以查询结果为查询条件进行关联查询。

在mybatis 中通过 association 标签(一对一查询,collection 一对多 查询) 实现延迟加载子查询

  <resultMap id="xxxMap" type="xxxx.bean.xxx" extends="zzzzMap">
    <association property="destName" javaType="java.lang.String" select="xxx.dao.xxxDao.getBySource"
           column="{sourceTarget=id,sourceType=cmdb_type}"/>
  </resultMap>

解释:

定义 xxxMap 继承 zzzzMap 类型为 xxxx.bean.xxx 实体。

然后通过 association 标签(一对一查询,collection 一对多 查询)。

select 子查询标签,值为查询的dao 层的方法。

column 为 传递到select 查询里的参数,sourceTarget=id (sourceTarget 为子查询方法的参数,id 为父查询的记录id 用于传递到子查询中作为sourceTarget 的值)

property=”destName” 将查询的结果映射到父查询的 resultMap 的 destName 属性

javaType=”java.lang.String” 查询结果的类型,通常是一个bean实体

子查询对应的dao层

String getBySource(@Param("sourceTarget") int sourceTarget, @Param("sourceType") String sourceType);

<select id="getBySource" resultMap="xxxMap">
SELECT name FROM xxx_relation
    WHERE source_target = #{sourceTarget} and source_type = #{sourceType}
</select>

参考:https://www.jb51.net/article/153421.htm

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。如果你想了解更多相关内容请查看下面相关链接

更多精彩内容其他人还在看

java实现背单词程序

这篇文章主要为大家详细介绍了java实现背单词程序,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

java实现单词查询小程序

这篇文章主要为大家详细介绍了java实现单词查询小程序,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

Java程序开发环境配置图文教程

这篇文章主要为大家详细介绍了Java程序开发环境配置图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

详解ssh框架原理及流程

在本文中小编给大家整理的是关于ssh框架原理及流程的相关知识点内容,有此需要的朋友们可以学习下。
收藏 0 赞 0 分享

Java实现弹窗效果的基本操作

这篇文章主要为大家详细介绍了Java实现弹窗效果的基本操作,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

详解springmvc常用5种注解

在本篇里我们给大家总结了关于springmvc常用5种注解相关知识点以及实例代码,需要的朋友们参考下。
收藏 0 赞 0 分享

Java实现弹窗效果的基本操作(2)

这篇文章主要为大家详细介绍了Java实现弹窗效果的基本操作第二篇,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

Spring Boot假死诊断实战记录

这篇文章主要给大家介绍了关于Spring Boot假死诊断的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Spring Boot具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
收藏 0 赞 0 分享

Java计时新姿势StopWatch详解

这篇文章主要介绍了Java计时新姿势StopWatch,最近公司来了个大佬,从他那里学到不少东西,其中一个就是计时的新姿势「StopWatch」,需要的朋友可以参考下
收藏 0 赞 0 分享

java实现点击按钮弹出新窗体功能

这篇文章主要为大家详细介绍了java实现点击按钮弹出新窗体功能,旧窗体不进行操作,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享
查看更多