mybatis映射系列教程8:JavaType和ofType区别
在mybatis框架中,JavaType和ofType都是用来指定对象类型的。JavaType和ofType的区别在于:JavaType用来指定POJO中属性的类型,而ofType指定的是映射到List集合中POJO的类型。如下面代码所示:
mybatis POJO类:
public class User
{
private int id;
private String name;
private String mobile;
private List<Post>posts;
}
mybatis user.xml:
<resultMap type="User" id="resultUserMap">
<result property="id" javaType="int" column="user_id" />
<result property="name" javaType="string" column="username" />
<result property="mobile" column="mobile" />
<!--javatype指定的是user对象的属性的类型(例如id,posts),而oftype指定的是映射到list集合属性中POJO的类型,本例指的是post类型)-->
<collection property="posts" ofType="Post" javaType="java.util.ArrayList" column="id">
<id property="id" column="post_id" javaType="int" jdbcType="INTEGER"/>
<result property="title" column="title" javaType="string" jdbcType="VARCHAR"/>
<result property="content" column="content" javaType="string" jdbcType="VARCHAR"/>
</collection>
</resultMap>
说明:
在本例中,javatype指定的是user对象的属性的类型(例如id,posts),而oftype指定的是映射到list集合属性中POJO的类型,指的是post类型。