mapWithKey(query) 
说明 
把列表转成一个Map,KEY为指定字段的值
Mapper 内置方法 
- map(多个ID):多个ID,以ID为KEY的Map结果
- mapWithKey(KEY字段,多个ID):多个ID的Map结果
- mapWithKey(KEY字段,Where):动态条件的Map结果
QueryChain 内置方法 
- mapWithKey(keyGetter):指定key的Map结果
- mapWithKeyAndValue(keyGetter,valueGetter):指定key value 2列的Map结果
动态where查询 
java
public class Demo {
    @Autowired
    private SysUserMapper sysUserMapper;
    
    public void mapWithKey() {
       Map<Integer,SysUser> map= sysUserMapper.mapWithKey(SysUser::getId,where->{
           where.like(SysUser::getUserName,"abc");
       });
    }
}基于QueryChain(强大) 
可构建复杂的场景, 更多操作前往 链路查询 - QueryChain !
java
public class Demo {
    @Autowired
    private SysUserMapper sysUserMapper;
    public void mapWithKey() {
        Map<Integer,SysUser> map= QueryChain.of(sysUserMapper)
                .like(SysUser::getUserName,"abc")
                .limit(10)
                .mapWithKey(SysUser::getId);
    }
}mapWithKey指定map的key、value(2个基本类型的结构)的写法 
将结果转成map(key value都是简单类型的情况)
缺点:需要额外非基本类型 类接收key value的值(框架内部操作)
java
SysRoleMapper sysRoleMapper = session.getMapper(SysRoleMapper.class);
Map<Integer, String> maps = QueryChain.of(sysRoleMapper)
        .mapWithKeyAndValue(SysRole::getId, SysRole::getName);