mybatis if传入 字符串数字踩坑
·
前台页面内容,注意这里的类型为字符串类型的数字
<li>
<label>支付类型:</label>
<form:select path="payType" class="input-medium">
<form:option value="">全部</form:option>
<form:option value="1">线上支付</form:option>
<form:option value="3">线下支付</form:option>
</form:select>
</li>
后台 MVC 接收参数:
Class RefundLog {
....
/**
* 支付类型 1:线上支付服务,3:线下支付服务
*/
private String payType;
.....
}
public String refundOrderList(RefundLog refundLog, HttpServletRequest request, HttpServletResponse response, Model model) {
.....
}
此时 mybatis 中使用常规的字符串判断,不会进入条件,如下,错误的写法:
<if test="payType == '1'">
AND rl.pay_type in ('1','ZFBA','WEIX')
</if>
经过调试发现,SQL 未进入判断!!!
正确的写法如下:
将字符串数字toString 一下!!!!
<if test="payType == '1'.toString()">
AND rl.pay_type in ('1','ZFBA','WEIX')
</if>
搞定!!
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)