mybatis Error updating database. Cause: java.lang.IllegalArgumentException: invalid comparison: java

在使用spring+mybatis开发项目时出现了题中的错误:

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

原因是mybatis 在对日期时间类型的参数进行比较时的一个bug. 如果拿传入的时间类型参数与空字符串‘‘进行对比判断则会引发异常. 所以在if判断条件中的代码要去掉与字符串的判断, 只保留非空判断就正常了。

即:

   date(create_time) = date(#{createTime,jdbcType=TIMESTAMP})

   

改为

 

    date(create_time) = date(#{createTime,jdbcType=TIMESTAMP})  

 

注意:

如果有多个字段都是日期时间类型(Date),需要检查每个字段的判断条件,当前报错的SQL语句才不会报错。

参考:mybatis报Error updating database. Cause: java.lang.IllegalArgumentException: invalid comparison: java_mybatis一对多出现updating database_sam-123的博客-CSDN博客

你可能感兴趣的:(java,mybatis,java,数据库,SSM)