在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类型。

标签: none

添加新评论