问题如下实体类加入lombok后,有时候我们会用到@Builder注解,这样不需要写太多的set方法来定义属性内容,使我们的代码更加优雅。实体类一旦加上@Builder注解会导致我们mybatis映射数据库字段出问题
org.springframework.dao.DataIntegrityViolationException: Error attempting to get column 'username' from result set. Cause: java.sql.SQLDataException: Cannot determine value type from string 'zhangsa' ; Cannot determine value type from string 'zhangsa'; nested exception is java.sql.SQLDataException: Cannot determine value type from string 'zhangsa'
注:在使用 @Builder 注解的是,会生成一个全参构造,导致无参构造消失
解决办法- 我们可直接去掉@Builder注解,mybatis查询数据库就不会有任何问题
- 在实体类生成有参和无参构造(可以自己手动添加,也可以加注解@AllArgsConstructor,@NoArgsConstructor)即可
如果还是异常,那就该查一查你的实体类和数据库类型映射是不是不对应
手持烟火谋生活、心怀诗意以谋爱…


