MyBatis ofType和javaType区别 和里面jdbcType的关系

本人自己整合,有部分来源于「spenglu」的原创文章

1. JDBCType

jdbcType是数据库数据类型,javaType是java数据类型,如下图所示:

 

 

2. JavaType和ofType

JavaType和ofType都是用来指定对象类型的,但是JavaType是用来指定pojo中属性的类型,而ofType指定的是映射到list集合属性中pojo的类型
pojo类
public class User {
    private int id;
    private String username;
    private String mobile;
    private List<Post> posts;
}

user.xml
<resultMap  type="User" id="resultUserMap">
         <result property="id" javaType="int" column="user_id" />
         <result property="username" javaType="string" column="username" />
         <result property="mobile"  column="mobile" />
                        <!--javatype指定的是user对象的属性的类型(例如id,posts),而oftype指定的是映射到list集合属性中pojo的类型(本例指的是post类型)-->
         <collection property="posts"  ofType="com.spenglu.Post"  javaType="java.util.ArrayList" column="userid">
             <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>


————————————————

有部分来源于「spenglu」的原创文章

posted @ 2019-11-22 14:16  辰辰chenchen  阅读(2412)  评论(0编辑  收藏  举报