mybatis 的resultMap的主要作用是把数据库查找数来的
ResultSets
构建成java object
。实现这个目的有两种方式。
java object:
ResultSets:
第一种方式:采用无参构造函数的方式(蓝框)
对应的resultMap
长这个样子:
这种方式相当于resultMap
用过User
的无参构造函数先构造出来一个 user object
,之后再通过“Set”的方式给user的每个属性赋值,当没找到user的无参构造函数时,会报错: executor.ExecutorException: No constructor found.
第二种方式:采用有参构造函数(红框)
对应的resultMap
长这个样子:
这种方式先相当于resultMap
使用constructor
直接“初始化了” 一个 user object
,这里注意顺序,resultMap
中标参数的顺序必须和User
的有参构造函数的形参顺序相同。