Mybatis invalid comparison: java.util.Date and java.lang.String

报错信息

2021-03-31 10:13:25.121 [http-nio-8103-exec-1] ERROR o.a.c.c.C.[.[.[.[dispatcherServlet] - Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException:

Error querying database. Cause: java.lang.IllegalArgumentException: invalid comparison: java.util.Date and java.lang.String

Cause: java.lang.IllegalArgumentException: invalid comparison: java.util.Date and java.lang.String] with root cause

java.lang.IllegalArgumentException: invalid comparison: java.util.Date and java.lang.String

UserParam

@Data
public class UserParam {
    @ApiModelProperty("手机号")
	private String mobile;
    @ApiModelProperty("开始时间")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private Date startTime;
	@ApiModelProperty("结束时间")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private Date endTime;
}

XML Statement 标签

 <select id="pageQueryUser" resultType="com.qingke.studytour.manager.entity.dto.UserDetailVo">
        select id, open_id , mobile, register_time, official_account_follow_status from qk_user_info where 1=1
    <if test="userParam.mobile!=null and userParam.mobile!=''">
        AND mobile = #{userParam.mobile}
    </if>
    <if test="userParam.startTime!=null and userParam.startTime!='' and userParam.endTime!=null and userParam.endTime!=''">
        AND register_time &gt; #{userParam.startTime} and register_time &lt; #{userParam.endTime}
    </if>
    </select>

报错原因
传入的userParam.startTime 和userParam.endTime均为日期类型,无法进行和空串的判断,
userParam.startTime!=’'是无法的比较,去除这个无效的比较语句

<select id="pageQueryUser" resultType="com.qingke.studytour.manager.entity.dto.UserDetailVo">
        select id, open_id , mobile, register_time, official_account_follow_status from qk_user_info where 1=1
    <if test="userParam.mobile!=null and userParam.mobile!=''">
        AND mobile = #{userParam.mobile}
    </if>
    <if test="userParam.startTime!=null  and userParam.endTime!=null ">
        AND register_time &gt; #{userParam.startTime} and register_time &lt; #{userParam.endTime}
    </if>
    </select>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值