数据库有数据但查询出来的值为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