用mybatis查询数据库内容,sql语句正常执行了,但返回结果为null,这种情况一般是数据库字段名和对象的属性名不一致导致的。
1.问题描述:如下图
2.解决方案
(1)对比对象属性和数据库字段值
![](https://i-blog.csdnimg.cn/blog_migrate/bab876818b82618b1beae4e0f5da2e3f.png)
对比之后发现没有问题;但结果依然为null;看属性名是否为大写+下划线,如果是看配置文件是否开启了驼峰命名,如果开启了,继续执行下面的操作;
数据库字段名:大写+下划线
对象属性:小驼峰命名方式
(2)数据库字段值和对象属性在命名上的关联
当数据库属性名为大写+下划线的时候;如果在配置文件中开启了驼峰命名,在书写对象属性名的时候,采用驼峰命名来代替数据库中属性名称。
Part01:配置文件开启驼峰命名
Part02:属性名修改
![新的命名](https://i-blog.csdnimg.cn/blog_migrate/4094b92e06fa1d88198a561939690e08.png)
(3)运行成功
3.总结
1.如果sql语句正常执行,但是打印对象结果值为null,就是两者命名不匹配;
2.如果数据库表字段值有下划线的情况,实体类属性命名需要考虑是否开启了驼峰命名;
3.如果mybatis开启了驼峰命名,需要将实体类属性转换为驼峰命名的方式;