Mybatis java.lang.IllegalArgumentException: uncategorized SQLException for SQL []; SQL state [null]
1、数据库字段原类型为Date 类型,因为数据原因,将该字段换为String类型,结果导致Mybatis 报出java.lang.illegalargumentexception,
因为数据库的变动我并不知晓,所以这个问题查了好久
2、解决过程
首先认为是SQL原因,但是Mybatis 组装的语句放到PLSQL中执行没有错误
接下来定位到数据库更换是不是有地方不一样,结果找到了有相同命名的一个字段,原数据库类型为Date ,改变数据库后,字段类型为String
下面就定位到执行SQL后,返回的数据和定义的数据类型不一致,导致报错
3、解决方法
修改定义的对象的字段类型为String
4、结论
写好代码之后,最好迁移数据时保持一致,或者在进行修改后检查对现有代码的影响。