在使用mybatis-plus的时候,某张表查找数据一直报
org.springframework.dao.TransientDataAccessResourceException: Error attempting to get column ‘coluneName’ from result set. Cause: java.sql.SQLException: Invalid value for getInt() - ‘******’
为什么明明数据库字段已经定义为varchar了,而且类Entity里面字段属性也是String,读取出来的数据却被getInt()?
将SQL语句打印出来后才发现,实际上select语句中的字段顺序与数据库字段的顺序不一致,而我显示定义了构造方法并且构造方法的入参是按照数据库字段的顺序排的,导致数据库读取出来的数据转换到Entity时属性错位了,所以才总是报getInt错。
调整了构造方法之后,就不报错了。
或者去掉显式定义的构造方法,应该也能避免这个问题。