myBatis3之SQL映射的XML文件(resultMap元素之四)
----------
高级结果映射之constructor元素
<constructor> <idArg column="id" javaType="int"/> <arg column=”username” javaType=”String”/> </constructor>
构造方法注入允许你在初始化时为类设置属性的值,而不用暴露出公有方法。MyBatis也支持私有属性和私有JavaBeans属
性来达到这个目的,但是一些人更青睐构造方法注入。构造方法元素支持这个。
看看下面这个构造方法:
public class User {
//…
public User(int id, String username) {
//…
}
//…
}
为了向这个构造方法中注入结果,MyBatis需要通过它的参数的类型来标识构造方法。Java没自查(反射)参数名的方法。所以当创建一个构造方法元素时,保证参数是按顺序排列的,而且数据类型也是确定的。
<constructor> <idArg column="id" javaType="int"/> <arg column=”username” javaType=”String”/> </constructor>
剩余的属性和规则和固定的id和result元素是相同的。