在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

添加新评论