很多时候,我们都需要进行多张表一起查询,将结果显示到页面。但是有时候会发现查询出来了结果但有些信息无法在页面上进行显示 。可能是因为在mapper文件中,你使用的是resultType而不是resultMap
先来讲讲resultType和resultMap的区别。他们都是执行查询语句返回的结果集。ResultType只有满足数据库表中的字段名和实体类中的属性完全一致时,才能使用,否则会出现数据不显示的情况。导致页面数据不显示。而ResultMap可以实现将查询结果映射为复杂类型的pojo。
注意:
ResultMap标签的id属性是唯一的,和select标签的resultMap一致。
ResultMap中的id标签是用来描述表中的主键的对应关系,column用来描述数据库表中的主键字段名,property用来描述pojo中的属性名。
result标签是用来描述表中的普通字段的对应关系,column用来描述数据库表中的普通字段property用来描述pojo中的属性名。
association和collection区别
association标签用来实现一对一的关系
collection标签用来实现一对多的关系