因为刚开始用MybatisPlus,自己出现这个问题的时候找了好久好久,最后才发现这个解决办法,在此记录一下。

问题重现:

 

将数据传到前段后偶然发现部分数据丢失,原本十行六列的表只能显示十行两列,于是到后端去找问题根源,发现查询结果是没有问题的。

 

最后发现在执行page.getRecords()的时候数据就已经缺失了: 

 

问题根源:

驼峰下划线命名的映射问题,数据没有封装到entity里,配置有问题。

数据库X_XXX表里边对应表中列名bigBang的规范名应该为big_bang,如果数据库的列名也是bigBang的话(没有下划线“_”),那么使用MybatisPlus的时候就会碰到映射问题,实际查询的时候默认是查询的是big_bang。

解决方法:

在application.properties配置文件中添加以下代码:

mybatis-plus.configuration.map-underscore-to-camel-case=false

如果等号后面为true就是指将带有下划线的表字段映射为驼峰格式的实体类属性,所以只需要把true改为false,关闭驼峰到下划线的映射即可。

基础不牢,地动山摇;

在此分享,共同进步。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐