洞察纵观鸿蒙next版本,如何凭借FinClip加强小程序的跨平台管理,确保企业在数字化转型中的高效运营和数据安全?
824
2023-02-14
解决mybatis where
mybatis报错:
Caused by: org.apache.ibatis.ognl.ParseException: Encountered " "AND “” at line 1
错误代码:
SELECT ct.customer_name customerName,sam.city_code,sam.user_name,sam.account_name
FROM sys_account_manager sam LEFT JOIN sys_customer ct ON ct.id = sam.customer_id
WHERE sam.deleted = 0
AND ct.customer_name LIKE concat('%',#{customerName},'%')
&http://lt;if test="cityCoSqdsOdwede != null AND cityCode != '' ">
AND LOCATE(#{cityCode},sam.city_code)
order by status,account_validity_time DESC
正确代码:
原因是:
if条件中AND为大写,大写不能识别,应改为小写。
SELECT ct.customer_name customerName,sam.city_code,sam.user_name,sam.account_name
FROM sys_account_manager sam LEFT JOIN sys_customer ct ON ct.id = sam.customer_id
WHERE sam.deleted = 0
AND ct.customer_nhttp://ame LIKE concat('%',#{customerName},'%')
AND LOCATE(#{cityCode},sam.city_code)
order by status,account_validity_time DESC
补充:Mybatis中if判断遇到的坑
最近在项目开发的过程中,遇到了Mybatis的一个坑(也许是Mybatis有意这样设计的),对于Integer或者Long这种引用数据类型,在做if判断的时候,如果引用数据类型为0,则mybatis将会视为”“空字符串,所以走不进判断逻辑里。
以下余额字段为Long类型,availableAmount值为0时,将走不进判断方法内的示例截图:
解决方法:
在test判断条件中添加”or availableAmount==0“即可,以下是示例截图:
或者在业务场景允许的情况下,只判断availableAmount!=null
...
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~