mybatis-向sql中添加判断条件

mybatis-向sql中添加判断条件,第1张

因为不熟悉Mybatis的一些用法 昨天花了一下午时间去做这个小小的点,希望我的问题点能够帮助那些依旧在为梦想拼搏的人。

这里有两个知识点:

1.<if>标签 test判断两个String类型的字段是否相等

可以是<if test=" 传过来的字段 ==‘固定的字段’.toString"></if>或者<if test='传过来的字段==“固定的字段”'></if>

2.foreach循环

item直接就代表了你循环中list 【10101,10102】中的值,直接取就能够判断,如上述中的图片

这里说下我的遇到的问题:

第一个想法是将sql后台拼接进来传入数值 sql="and sqrlx IS NOT NULL";理想的情况是and sqrlx IS NOT NULL直接拼接到sql条件的的后面,但是会给你自动加两个''给你sql阔起来传过去。即'and sqrlx IS NOT NULL' 这时候就发生错误了(可以试试将条件''起来)。

第二个想法是xml文件中判断直接写and sqrlx IS NOT NULL 这样应该没啥问题了,但是foreach循环的时候我记得是要#{item} 然后写成<if test="#{item}=='10101'.toString"></if>跑起项目一直报错,后来写成<if test="item=='10101'.toString"></if>可以了。

总结:还是自己的基础不扎实 赠予那些掉进坑里的人。

判断方法如下

一、Select字段列表From数据表例:1、selectid,gsmc,add,telfromhaf(*表示数据表中所有字段)2、select单价,数量,单价*数量as合计金额fromhaf(As设置字段的别名)二、Select?from?Where筛选条件式例筛选条件式:1、字符串数据:select*from成绩单Where姓名='李明'2、万用字符:select*from成绩单Where姓名like'李%'select*from成绩单Where姓名like'%李%'select*from成绩单Where姓名like'%李_'3、特殊的条件式:1.=/>//>=/ 回答于 2022-07-28


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10698581.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-10
下一篇 2023-05-10

发表评论

登录后才能评论

评论列表(0条)

保存