两种方式:
采用无参构造函数的方式:
<resultMap type="SYSSystem" id="result">
<!--主键用<id>标签,表示把表中的sysid字段映射到实体类SYSSystem中的sys_id属性-->
<id property="sysid" column="sys_id"/>
<!--非主键用<reslut>标签,表示把表中的syscode字段映射到实体类SYSSystem的sys_code属性-->
<result property="syscode" column="sys_code"/>
</resultMap>
这种方式相当于resultMap用过SYSSystem的无参构造函数先构造出来一个 SYSSystem object,之后再通过“Set”的方式给SYSSystem的每个属性赋值,当没找到SYSSystem的无参构造函数时,会报错: executor.ExecutorException: No constructor found.
采用有参构造函数:
<resultMap type="SYSSystem" id="result">
<constructor>
<idArg column="sys_id" javaType="long"/>
<arg column="sys_code" javaType="String"/>
</constructor>
</resultMap>
这种方式先相当于resultMap
使用constructor
直接“初始化了” 一个 SYSSystem object
,这里注意顺序,resultMap
中标参数的顺序必须和SYSSystem的有参构造函数的形参顺序相同。
mybatis 的resultMap的主要作用是把数据库查找数来的ResultSets
构建成java object
。