org.apache.ibatis.exceptions.PersistenceException:
### Error querying database. Cause: java.lang.IllegalArgumentException: invalid comparison: java.sql.Date and java.lang.String
### Cause: java.lang.IllegalArgumentException: invalid comparison: java.sql.Date and java.lang.String
翻译:
Org.apache.ibatis.exceptions.PersistenceException:
#查询数据库错误。原因:java.lang.IllegalArgumentException:无效比较:java.sql.Date和java.lang.String。
#原因:java.lang.IllegalArgumentException:比较无效:java.sql.Date和java.lang.String
一开始我传的是字符串给mybatis 做查询条件的,后面发现传date也不行,最后发现是我没加MyBatis 的 jdbcType类型
最后改成:
还有一种方法不用加 jdbcType类型的
使用java.sql.Timestamp
或java.sql.Date
java.sql.Date beginTime = null;
java.sql.Date endTime = null;
if (input.getDesignDate() != null) {
beginTime = new java.sql.Date(DateUtil.parse(“2021-07-24”).getTime());
endTime = new java.sql.Date(DateUtil.parse(“2021-07-24”).getTime());
}
DateUtil.parse()是Hutool工具类,将字符串转换为date,
如果要转换成 java.sql.Date,要先字符串转换成 java.util.Date,在转成 java.sql.Date,然后传给mybatis的xml文件是 java.sql.Date类型的时间