MyBatis 的parameterType和resultType分别是:
parameterType:
用于指定传入的参数类型:
- 对象:基本类型、pojo、map等对象。
- hashmap:将多个参数封装在 hashmap 中。
<insert id="insert" parameterType="pojo">
insert into table (...) values (#{user.id},#{user.name})
resultType:
用于指定结果集的返回类型:
- pojo:返回一个POJO对象。
- map:返回一个map,key是列名。
- hashmap:将多行结果集封装为 hashmap。
- 泛型:返回一个泛型列表。
<select id="selectUser" resultType="pojo">
select * from user where id = #{id}
</select>
另外,MyBatis 还提供了 resultMap 标签来映射复杂类型。
parameterType主要用于:
- 指定传入参数类型
- 简化参数形式:#{paramName}
resultType主要用于:
- 指定返回结果集类型
- 简化结果集映射
而resultMap可以解决复杂结果集的映射问题。
总的来说:
- parameterType用于指定输入参数类型
- resultType用于指定输出结果集类型
这两点可以有效简化SQL映射的复杂性。