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

 更新时间:2019年03月14日 14:07:22   作者:双斜杠少年   我要评论

今天小编就为大家分享一篇关于mybatis利用association或collection传递多参数子查询,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

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

在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

总结

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

相关文章

  • 利用Spring AOP记录方法的执行时间

    利用Spring AOP记录方法的执行时间

    这篇文章给大家介绍的是spring的aop来实现方法级的执行时间的记录监控,以此来评估方法的性能以及针对性的对已存在的方法进行优化。对于监控,我们比较关注监控的可靠性和性能,准确,高效,这才能在不影响整体性能的情况下对我们的系统性能有个较准确的认识。
    2016-09-09
  • Spring Boot集成Thymeleaf模板引擎的完整步骤

    Spring Boot集成Thymeleaf模板引擎的完整步骤

    这篇文章主要给大家介绍了关于Spring Boot集成Thymeleaf模板引擎的完整步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-02-02
  • java解析php函数json_encode unicode 编码问题

    java解析php函数json_encode unicode 编码问题

    这篇文章主要介绍了java解析php函数json_encode unicode 编码问题,需要的朋友可以参考下
    2016-04-04
  • SpringMVC解析JSON请求数据问题解析

    SpringMVC解析JSON请求数据问题解析

    这篇文章主要介绍了SpringMVC解析JSON请求数据问题解析,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04
  • 详解Spring batch 入门学习教程(附源码)

    详解Spring batch 入门学习教程(附源码)

    本篇文章主要介绍了Spring batch 入门学习教程(附源码),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-11-11
  • 浅谈java中unmodifiableList方法的应用场景

    浅谈java中unmodifiableList方法的应用场景

    下面小编就为大家带来一篇浅谈java中unmodifiableList方法的应用场景。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • Java解压zip文件完整代码分享

    Java解压zip文件完整代码分享

    这篇文章主要介绍了Java解压zip文件完整代码分享,向大家分享了两部分代码示例,具有一定参考价值,需要的朋友可以了解下。
    2017-11-11
  • mybatis interceptor 处理查询参数及查询结果的实例代码

    mybatis interceptor 处理查询参数及查询结果的实例代码

    这篇文章主要介绍了mybatis interceptor 处理查询参数及查询结果,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-01-01
  • Intellij Idea插件开发之创建项目层级的右键菜单

    Intellij Idea插件开发之创建项目层级的右键菜单

    这篇文章主要介绍了Intellij Idea插件开发之创建项目层级的右键菜单,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-02-02
  • springboot整合shiro登录失败次数限制功能的实现代码

    springboot整合shiro登录失败次数限制功能的实现代码

    这篇文章主要介绍了springboot整合shiro-登录失败次数限制功能,实现此功能如果是防止坏人多次尝试,破解密码的情况,所以要限制用户登录尝试次数,需要的朋友可以参考下
    2018-09-09

最新评论