mybatis中foreach嵌套if标签方式

作者:小科比000 时间:2023-11-20 23:11:05 

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中foreach嵌套if标签方式

来源:https://blog.csdn.net/qq_39548700/article/details/107023490

标签:mybatis,foreach,嵌套,if
0
投稿

猜你喜欢

  • Android仿腾讯视频实现悬浮窗效果

    2021-06-16 00:49:23
  • Java与C++实现相同的MD5加密算法简单实例

    2023-08-31 09:43:02
  • C sharp (#) 数据类型获取方式

    2022-03-29 00:33:10
  • Opencv光流运动物体追踪详解

    2023-06-21 11:55:31
  • Java ArrayList.toArray(T[]) 方法的参数类型是 T 而不是 E的原因分析

    2023-01-07 04:22:29
  • java模拟实现银行ATM机操作

    2021-09-03 04:28:11
  • Android实战教程第五篇之一键锁屏应用

    2023-12-03 18:47:36
  • 微信公众平台开发教程(三) 基础框架搭建

    2022-08-12 00:33:50
  • Android编程开发中的正则匹配操作示例

    2022-12-24 15:24:45
  • Unity 按钮事件封装操作(EventTriggerListener)

    2022-07-08 10:07:08
  • WebView的介绍与简单实现Android和H5互调的方法

    2023-04-30 19:26:00
  • Unity3D实现播放gif图功能

    2021-11-23 13:17:37
  • Android开发笔记之如何正确获取WebView的网页Title

    2022-06-04 07:02:41
  • OpenGL画bezier曲线

    2021-11-30 19:09:06
  • ubuntu环境下反编译android apk的方法

    2022-08-09 13:41:41
  • Java 导出excel进行换行的案例

    2021-07-29 04:09:36
  • Android开发之ViewPager实现滑动切换页面

    2023-03-10 05:32:43
  • idea启动springmvc项目时报找不到类的解决方法

    2023-11-09 16:51:04
  • C# ManualResetEvent使用方法详解

    2022-05-15 23:57:51
  • java实现代码统计小程序

    2022-03-08 23:15:24
  • asp之家 软件编程 m.aspxhome.com