我对javaType和ofType的理解:
ofType用于collection标签中,一对多的关系,比如查询角色对应的权限(一个角色可能对应多种权限),实体类中Role的Modules也是用集合存储的:
<resultMap id="BaswResultMapWithModules" type="com.buka.edu.bean.Role">
<id column="rid" jdbcType="INTEGER" property="id" />
<result column="name" jdbcType="VARCHAR" property="name" />
<collection property="modules" ofType="com.buka.edu.bean.Module">
<id column="mid" jdbcType="INTEGER" property="id" />
<result column="mname" jdbcType="VARCHAR" property="name" />
</collection>
</resultMap>
Role实体类:
private Integer id;
private String name;
private List<Module>modules;
javaType用于association标签中,一对一或多对一的关系,比如查询用户对应的角色(一般一个用户只对应一个角色),实体类中User的Role是单独存储的:
<resultMap id="BaseResultMapWithRole" type="com.buka.edu.bean.User">
<id column="id" jdbcType="INTEGER" property="id" />
<result column="user_name" jdbcType="VARCHAR" property="userName" />
<association property="role" javaType="com.buka.edu.bean.Role">
<result column="name" property="name"></result>
</association>
</resultMap>
User实体类:
private Integer id;
private String userName;
private String password;
private Role role;