07|第七课:输出参数为各种类型以及HashMap和result
2019-02-25 本文已影响32人
木头amo
一、历史回顾
(一)、输出参数ResultType
1、简单类型(8个基本类型 + String)
例:
基本类型int2、对象类型(或者是对象的集合类型)
例:
对象类型(也可以是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接口测试类:
测试类