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>

搞定!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值