mybatis中foreach嵌套if标签方式

网友投稿 1140 2022-10-18

mybatis中foreach嵌套if标签方式

mybatis中foreach嵌套if标签方式

目录mybatis foreach嵌套if标签xml文件 $和 #的区别union与union all区别mybatis if和foreach嵌套 (同一个列,不定个数的查询条件)有这么一种需求模板如下图

mybatis foreach嵌套if标签

代码实现:

Mapper.java文件

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

XXX.xml文件

union

select ysxmcode from ${qy}_yxsxk.tpc_ysxkz where yszbh=#{yszh,jdbcType=VARCHAR}

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

xml文件 $和 #的区别

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

union与union all区别

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

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

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

有这么一种需求

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

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

模板如下图

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:SpringBoot Redission实现分布式锁
下一篇:kafka必修课
相关文章

 发表评论

暂时没有评论,来抢沙发吧~