Cause: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; mysql的xml文件出现异常解决方案

"本文讲述了在开发过程中遇到的SQL语法错误,重点在于Mybatis中如何处理非字符串类型参数的空值判断。作者提醒避免在XML文件中使用`!=""`,尤其是在查询语句中,针对Integer类型变量应仅做`!=null`检查。"
摘要由CSDN通过智能技术生成

今天在写一个查询接口的时候,测试中发现的一个问题,异常全文为:

Cause: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
; bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1

根据异常的报错情况,很容易找出来问题,是因为有个地方的的" "判断出了问题,经查发现我的查询语句中,对入参做了判断:

   <if test="version != null and version != ''">
            and version=#{version}
        </if>

这种判断语法,但是这个version在对象里面书个Integer类型的,也就是不能用version!=" "来判空,只用前面的version!=null就好了。

注意:如果对象object里面的不是字符串类型的,不要用!=""在mybatis的xml文件的sql重做判断,特别是很多查询的时候。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值