首页 > 作文

mybatis if test 不为空字符串且不为null的问题

更新时间:2023-04-06 03:18:55 阅读: 评论:0

if test不为空字符串且不为null

在mybatis中if test

判断不为空字串和null的时候,报了sql 语法错误

xml文件:

where enable =1<if test="keyword != null and keyword != ''">        and ( mac_id = #{keyword} )        or ( ur_id = #{keyword} ) </if>

怎样学习英语最快postman工具报错如下:

原因:

if 判断中, 出现字母大小写错误, 不符合mybatis 语法规范

在mybatis中, if test 语法

1 判断不为null

where 1=1<if test="keyword != null ">    and ur_id = #{keyword}</if>

2 判断不为空字符串

where 1=1<if test="keyword != '' ">    and ur_id = #{keyword}</if>

3 判断不为null 且 不为空字符串

where 1=1<if test="keyword != null and keyword != ''">    and ur_id = #事迹{keyword}</if>

controller层 —> 对应xml 文件

我们在获取列表时,通常会根据关键词进行精确或模糊查询,就会对关键词进行非空或者非null的判断。如下:

controller层请求参数keyword请求参数默认值dao层xml 文件@requestparam(value = “keyword”, required = fal) string keywordnullif test=”keyword != null “@requestparam(value = “keyword”,志愿者工作总结 required = fal, defaultvalue = “”) string keyword空字符串if test=”keyword != ‘’ “/不清楚默认值都可以if test=“keyword != null and keyword != ‘’”参数默认值dao层xml 文件从其他渠道的获取的数据或关键词不清楚默认值if test=“keyword != null and keyword != ‘’”

mybatis把0当做空字符串

在开发中,一般在sqlmap中都会判断参数是否为null,以及是否为空字符串

当参数为int类型 0时,mybatis自动把0定义为空字符串“”

我们在可能入参为0的地方多加一个判断

<if test="authorizeamo计算机等级考试时间unt != null and ''!= authorizeamount or authorizeamount==0">      ,a.awatchesuthorize_amount = #{authorizeamount,jdbctype=varchar}    </if>

这是一个比较容易粗心的地方,出问题也不容易排查,记录下来提醒自己!

以上为个人经验,希望能给大家一个参考,也希望大家多多支持www.887551.com。

本文发布于:2023-04-06 03:18:53,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/e7f35a2538718ffa3002876b7b5fda92.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:mybatis if test 不为空字符串且不为null的问题.doc

本文 PDF 下载地址:mybatis if test 不为空字符串且不为null的问题.pdf

标签:不为   参数   默认值   空字符串
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图