踩坑纪录——Lombok加Builder注解后mybatis无法识别字段正确类型

实体类加入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'
1
2
注:在使用 @Builder 注解的是,会生成一个全参构造,导致无参构造消失

解决办法
我们可直接去掉@Builder注解,mybatis查询数据库就不会有任何问题
在实体类生成有参和无参构造(可以自己手动添加,也可以加注解@AllArgsConstructor,@NoArgsConstructor)即可
如果还是异常,那就该查一查你的实体类和数据库类型映射是不是不对应

原文链接:https://blog.csdn.net/qq_46649319/article/details/121166844

posted @ 2022-04-25 23:00  星空物语之韵  阅读(914)  评论(0)    收藏  举报