一、简介
resultType可以把查询结果封装到pojo类型中,但必须pojo类的属性名和查询到的数据库表的字段名一致。 如果sql查询到的字段与pojo的属性名不一致,则需要使用resultMap将字段名和属性名对应起来,进行手动配置封装,将结果映射到pojo中。resultMap可以实现将查询结果映射为复杂类型的pojo,比如在查询结果映射对象中包括pojo和list实现一对一查询和一对多查询。二、简单使用
order订单表:id,user_id,number,createtime,note三、关联查询
一对一数据模型:订单用户 一个订单信息只会是一个人下的订单,所以从查询订单信息出发关联查询用户信息为一对一查询 首先在Order类中增加属性User,然后编写mapper:一对多数据模型:用户订单
从用户信息出发查询用户下的订单信息则为一对多查询,因为一个用户可以下多个订单 首先在User类中增加属性List<Order> orders,然后编写mapper:四、对返回数据进行分组
假设有如下sql查询语句: select id, otherId from mytalbe 返回数据: id otherId 01 00001 01 00002 01 00003 02 00004有java实体类如下:
class Id{ private String id; private List<String> otherId; } 怎样通过执行一次查询,返回如下形式的数据呢? List<Id> aa = new ArrayList<Id>(); aa = ...//通过mybatis执行slq aa:[ {01,[00001,00002,00003,00004]}, {02,[00004]} ] 实现方法如下:需要注意的是<id> 标签,这是分组的标识。一定要注意。 文章参考:https://blog.csdn.net/qq_42780864/article/details/81429114
文章参考:https://blog.csdn.net/shijunjoy/article/details/75119671