mybatis学习小点

MyBatis 的 resultType

返回值类型

resultType: 返回值类型,类型即为对象类型。返回结果字段与对象属性匹配映射,类型中的属性名要与查询条件保持一致,否则就会失败。

返回集合

1
public List<MyUser> selectMyUserByNameLike(String name);
1
2
3
4
<!-- resultType 集合内的元素类型 -->
<select id="selectMyUserByNameLike" resultType="myUser" parameterType="string">
select * from myuser where name like #{name}
</select>

返回 Map

  • 1.一条记录
1
public Map<String,Object> selectMyUserById(Integer id);
1
2
3
<select id="selectMyUserById" resultType="map" parameterType="integer">
select * from myuser where id = #{id}
</select>
  • 2.多条记录,需要指定 Map 的 Key 和 Value 的类型
1
2
3
4
// 指定 Map 的 Key 从记录中的 id 列获取
@MapKey("id")
public Map<String,MyUser> selectMyUserByGtId(Integer id);

1
2
3
4
<!-- resultType Map 中 value 的类型 -->
<select id="selectMyUserByGtId" resultType="myUser" parameterType="integer">
select * from myuser where id > #{id}
</select>

Mybatis 多参数查询时,可使用 @Param 注解

mybatis 在多参数查询的情况下,可以使用 @Param注解, 然后 xml 中的 查询语句中,不再需要 parameterType 参数。

更多详情 请参考