MyBatis ofType和javaType的区别说明
作者:spenglu
这篇文章主要介绍了MyBatis ofType和javaType的区别,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
ofType和javaType的区别
JavaType和ofType都是用来指定对象类型的,但是JavaType是用来指定pojo中属性的类型,而ofType指定的是 映射到list集合属性中pojo的类型 。
pojo类:
public class User { private int id ; private String username ; private String mobile ; privateList<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 >
MyBatis笔记 javatype和ofType
javaType和ofType 都是用来指明对象类型,区别在于使用的场合不一样
javaType
是在指定pojo属性类型使用,也就是一对一映射的时候使用ofType
指定是当对象需要Collection进行list集合映射对象的时候使用,也就是一对多映射的时候使用
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。