- 如果只是返回一个值,比如说String或者int,那直接用resultType就行了
- 如果是返回一个Map,可以用 resultType=”Map”
- 如果返回的是POJO类,二者都可以用,下面代码展示用法。 当数据库字段名与POJO类字段名不一致时,二者都可以用别名。
POJO:
@Data public class Users { private Long id; private String userName; private Integer sex; }
|
ResultType:
<select id="getUsersType" resultType="Users"> select user_name userName, sex from t_users </select>
|
ResultMap:
<resultMap id="userMap" type="Users"> <id property="id" column="id"/> <result property="userName" column="user_name"/> <result property="sex" column="sex"/> </resultMap>
<select id="getUsersMap" resultMap="userMap"> select id, user_name, sex from t_users </select>
|
对于简单的映射,resultType和resultMap区别不大。但是resultMap功能更强大,可以提供级联查询,缓存等功能。