resultMap
resultType可以指定pojo将查询结果映射为pojo,但需要pojo的属性名和sql查询的列名一致方可映射成功。
如果sql查询字段名和pojo的属性名不一致,可以通过resultMap将字段名和属性名作一个对应关系,能将查询结果映射到pojo对象中。
ResultMap可以将查询结果映射为复杂类型的pojo,比如在查询结果中包括pojo和list实现一对一查询和一对多查询。
动态sql
If
注意要做不等于空字符串校验。
Foreach
向sql传递数组或者list,mybatis使用foreach进行解析。
//传递多个用户id
Private List<Integer> ids;
Sql片段
将重复的sql提取出来,包括重复的where条件,使用include引用。
如果引用其它mapper.xml的sql片段,则在引用时需要加上namespase
关联查询
一对一查询
方法一:
使用resultType,定义专门的PO类作为输出类型,其中定义了sql查询结果集的所有字段。。
方法二:
使用resultMap,定义专门的resultMap用于映射一对一查询结果。
一对多查询
使用resultMap实现: