昨天尝试用mybatis从数据库里select数据,数据库的对应的表中已被存放两条数据,但是在测试的时候,却只显示[null,null]。
找了好多帖子,仔细检查了实体类和数据库对应表的属性名,并没有出错,数据库连接也没有问题,代码也没有问题,但是就是无法返回数据。
最后终于在这个贴子里找到了答案,解决了问题。
问题描述:使用mybatis的select从数据库获取数据,表中有一条数据,返回一个null,有两条,返回两个null,以此类推。
原因:数据没有封装进去。在我的spring工程中既有mybatis,也有mybatis-plus,而mybatis-plus默认要使用驼峰命名,在我的代码里可能又不规范的命名,因此出现错误。
问题解决:
方法一:可以使用@TableField注解,指定数据库表字段名;
方法二:在配置文件中配置mybaitis-plus,关闭自动驼峰命名规则映射:
在application.yml中添加配置:
mybatis-plus:
configuration:
map-underscore-to-camel-case: false
我用的方法二,解决了这个困扰一天的问题。
原博客地址:Mybatis-plus使用selectList查询数据为null的问题及解决办法_java_脚本之家 (jb51.net)
记录一下