阅读 173

数据库有数据但查询出来的值为Null

数据库有数据但查询出来的值为Null

使用逆向工程后数据库有数据但查询出来的值为Null

原因

解决方案

方案1

方案2

总结

原因

在使用逆向工程后会为我们自动生成实体类和映射文件,但是生成的实体类中某些属性名和数据库表中的属性名会发生改变如下图:


但是逆向工程通过使用resultMap 把数据库的属性名和实体类的属性名进行了绑定,所以就只要我们sql查询的时候返回值类型不为resultMap,就会返回null。



解决方案

方案1

把sql语句的返回值类型改为resultMap




方案2

在创建数据库表的时候所有字段名都是首字母小写,随后每个单词的首字母大写,如randomName,且中间不出现任何隔断。


总结

只有当数据库表中的字段名称与实体类中的属性名称完全相同,才能直接使用resultType返回类型,后面跟上该实体类的名称。否则一定需要用resultMap进行属性映射,否则得到的数据一直没有匹配的实体类与之对应,返回的结果也自然为空

————————————————

版权声明:本文为CSDN博主「我的龙呢」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/Ssucre/article/details/116074633


文章分类
后端
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐