Mybaties报错Error querying database

    Mybaties我们经常用到动态SQL,如下我们利用动态去做判断,这样写当然没问题,但是当我们不是去判断orgCode(本文中orgCode一直为String类型)是否为空而是判断orgCode是否是一个值的时候该怎么做?

<if test="orgCode != null and orgCode != ''">

</if>

    一般我们会理所当然的这么写,但是此时就会报Error querying database.  Cause: java.lang.NumberFormatException: For input string: "A"

这个是因为A加的是单引号,在编译的时候加单引号的A不能被解析为字符串,而被解析为了number类型,造成了以上报错。想要解决问题就要让A在解析的时候被解析的字符串类型,这里有三种方式实现。

<if test="orgCode != 'A'">

</if>
方式一:'A'.toString()
<if test="orgCode != 'A'.toString()">
方式二:加转义实体字符串引号&quot;
<if test="orgCode != &quot;'A'&quot;">
方式三:内外层单双引号交换
<if test='orgCode != "A"'>

 

转载于:https://my.oschina.net/zicheng/blog/1858808

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值