数据库中能查数据,mybatis中查询为空的原因及解决方法

今日编写项目时,发现了mybatis查询操作时部分属性为空值,部分属性查询出来了。

  

数据库中存在值,也能查询出来。

原因:mapper.xml文件中,查询属性时,命名规范:查询时的属性必须对应java实体类中的属性。因为我的工程师mybatis的逆向工程生成,有的语句为自己手写。所以对应不上。

数据库中能查数据,mybatis中查询为空的原因及解决方法_第1张图片

解决方法:

1.逆向工程中会生成一个resultMap的集合。这个集合是映射了数据库列与java实体的关系。利用这个作为结果集,是不会出现问题。

2.如果没有写resultMap集合的方式,如上图一样采取别名的方式对应java实体类的属性,也是可以查询出来的。对于很多属性的实体类来说,建议写map集合的形势。

数据库中能查数据,mybatis中查询为空的原因及解决方法_第2张图片

你可能感兴趣的:(mybatis)