mybatis中foreach嵌套if标签方式

 更新时间:2022年03月23日 09:22:18   作者:小科比000  
这篇文章主要介绍了mybatis中foreach嵌套if标签方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

mybatis foreach嵌套if标签

代码实现:

Mapper.java文件

List<Map<String, Object>> getYsxmcodeByYszbh(@Param("qyName") List<String> qyName, @Param("yszh") String yszh);

XXX.xml文件

<select id="getYsxmcodeByYszbh" resultType="java.util.Map">
    <foreach collection="qyName" index="index" item="qy">
        <if test="index != 0">
            union
        </if>
    select ysxmcode from ${qy}_yxsxk.tpc_ysxkz where yszbh=#{yszh,jdbcType=VARCHAR}
    </foreach>
</select>

判断是否为第一个循环,是不加union拼接,否则加上

xml文件 $和 #的区别

${}在预编的时候会直接被变量替换,但是存在被注入的问题,表名必须用${},因为#{}在预编的时候会被解析为?占位符,但当被变量替换的时候会加上 ''单引号,表明不允许加单引号(但是反引号``是可以的)

union与union all区别

1.union all是直接连接,取到得是所有值,记录可能有重复;union 是取唯一值,记录没有重复。所以union在进行表链接后会筛选掉重复的记录,union all不会去除重复记录。

2.union将会按照字段的顺序进行排序;union all只是简单的将两个结果合并后就返回。从效率上说,union all 要比union快很多,所以,如果可以确认合并的两个结果集中不包含重复数据且不需要排序时的话,那么就使用union all。 

mybatis if和foreach嵌套 (同一个列,不定个数的查询条件)

有这么一种需求

根据输入的内容的个数设置不同个数的查询条件(在一个列上设置不定个数的查询条件),这时就需要根

据foreach循环在一个列上拼接查询条件了。

模板如下图

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

相关文章

  • 在mybatis中去除多余的前缀或者后缀操作

    在mybatis中去除多余的前缀或者后缀操作

    这篇文章主要介绍了在mybatis中去除多余的前缀或者后缀操作。具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • Spring MVC获取参数和自定义参数类型转换器及编码过滤器

    Spring MVC获取参数和自定义参数类型转换器及编码过滤器

    这篇文章主要为大家详细介绍了Spring MVC获取参数和自定义参数类型转换器及编码过滤器,文中通过代码示例介绍的非常详细,具有一定的参考价值,需要的朋友可以参考下
    2023-06-06
  • Java设计模式模板方法模式(Template)用法解析

    Java设计模式模板方法模式(Template)用法解析

    这篇文章主要介绍了Java设计模式模板方法模式(Template)用法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-11-11
  • JVM内存分配及String常用方法解析

    JVM内存分配及String常用方法解析

    这篇文章主要介绍了JVM内存分配及String常用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-09-09
  • 如何基于LoadingCache实现Java本地缓存

    如何基于LoadingCache实现Java本地缓存

    这篇文章主要介绍了如何基于LoadingCache实现Java本地缓存,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • idea创建项目没有webapp文件夹的解决方法

    idea创建项目没有webapp文件夹的解决方法

    本文主要介绍了idea创建项目没有webapp文件夹的解决方法,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-05-05
  • spring boot ajax跨域的两种方式

    spring boot ajax跨域的两种方式

    java语言在多数时,会作为一个后端语言,为前端的php,node.js等提供API接口。这篇文章主要介绍了spring boot ajax跨域的两种方式,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-05-05
  • Java Exception异常全方面分析

    Java Exception异常全方面分析

    异常就是不正常,比如当我们身体出现了异常我们会根据身体情况选择喝开水、吃药、看病、等 异常处理方法。 java异常处理机制是我们java语言使用异常处理机制为程序提供了错误处理的能力,程序出现的错误,程序可以安全的退出,以保证程序正常的运行等
    2022-03-03
  • java中的key接口解析

    java中的key接口解析

    这篇文章主要介绍了java中的key接口,有需要的朋友可以参考一下
    2014-01-01
  • springboot 重定向方式(redirect前缀)

    springboot 重定向方式(redirect前缀)

    这篇文章主要介绍了springboot 重定向方式(redirect前缀),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09

最新评论