项目场景
一个SpringBoot
的项目,需要完成一个“查询我的收藏”的功能
问题描述
数据库在的四个字段都有值,但是在使用postman进行测试时,有两个字段的值为空,且IDEA没有任何报错
原因分析
在application.yml
中mybatiis
的配置如下:
mybatis:
type-aliases-package: xxx
configuration:
map-underscore-to-camel-case: true
map-underscore-to-camel-case: true
代表开启了自动将数据库中的字段转换为驼峰命名的格式
在实体类中的定义如下
@Data
public class myLike {
private Integer myLikeId;
private Integer likeNailId;
private LocalDateTime likeCreateTime;//收藏时间
private Integer uId;
}
而未获取到的数据字段为:l_n_id
和 l_create_time
,自动转为lNId
和lCreateTime
,与实体类并不相符,因此获取不到这两个字段的数据
解决方案
解决方案有两种
- 将实体类改为
@Data
public class myLike {
private Integer myLikeId;
private Integer lNId;
private LocalDateTime lCreateTime;//收藏时间
private Integer uId;
}
- 修改数据库字段名称
like_nail_id
like_create_time
我选择的第二种,看起来更美观
测试
重启该服务再使用postman查询
成功查询出所有数据