07|第七课:输出参数为各种类型以及HashMap和resultMap的使用

一、历史回顾

(一)、输出参数ResultType

1、简单类型(8个基本类型 + String)

例:

基本类型int

2、对象类型(或者是对象的集合类型)

例:

对象类型(也可以是List等集合类型)

resultMap:实体类的属性、数据表的字段的类型或者名字不同的时,就使用resultMap。

二、输出参数为HashMap和resultMap的使用

(一)、输出参数为HashMap

1、xxxMapper.xml配置:

通过映射别名的方式

注意:如果这里没有设置别名,就采取原有的字段名作为返回结果中Map的key。

这里不能查询多条数据,因为HashMap本身虽然是一个集合,可以存放多个元素,但是根据提示发现返回值为HashMap时,查询只能是1个结果(因为这个结果里有很多字段,每个key-value都对应结果中的一个字段)。当然可以将Map放入List中,这里的xxxMapper.xml不用修改,只要将接口的返回值修改成List即可

例:

xxxMapper.xml配置:

xxxMapper.xml配置

xxxMapper接口:

xxxMapper接口

xxxMapper接口的多个Map的情况:

多个Map的情况

测试类:

测试类

测试类多个Map的情况:

测试类多个Map

(二)、输出参数为ResultMap

resultMap:实体类的属性、数据表的字段的类型或者名字不同的时,就使用resultMap。

resultMap方式

注意:当属性名和字段名不一致时,还可以使用resultType+HashMap。本质上就是通过SQL语句的重命名的方式。这种不支持级联取值

resultType+HashMap方式

注:如果10个字段,但是发现某一个字段结果始终为默认值(例:0,null,0.0之类),则可能是表的字段和类的属性名字没有对应上。

例:resultMap方式来解决字段不一致的情况

xxxMapper.xml配置:

xxxMapper.xml配置

xxxMapper接口:

xxxMapper接口

测试类:

测试类

例:resultType+HashMap方式来解决字段不一致的情况

xxxMapper.xml配置:

xxxMapper.xml配置

xxxMapper接口:

xxxMapper接口

测试类:

测试类

你可能感兴趣的:(07|第七课:输出参数为各种类型以及HashMap和resultMap的使用)