mybatis-mp - 亮点五:mapWithKey(把查询转成一个 map)


有很多开发者不想使用 join连表,通过for循环去加载数据;于是mybatis-mp作者给大家开发一个mapWithKey方法;mapWithKey

方法的作用是 开发自己指定一个key,然后通过此方法,可以把查询转成一个map;这样for循环时,可以很容易就把数据装载到list里item对象里

例如:

1:List<SysUser> voList=sysUserMapper.list(where->where.like(SysUser::getName,'xx'););

2:   List<Integer> roleIds=voList.map(sysUser->sysUser::getRoleId).toList();

3:   Map<Integer, SysRole> rolesMap= sysRoleMapper.mapWithKey(SysRole::getId, roleIds);

4:   voList.foreach(item->item.setSysRole(rolesMap.get(item.getRoleId()));

这样就可以在用户信息里 ,装载角色的信息;是不是很方便 ?!


相關推薦

2024-05-25

官方文档:http://mybatis-mp.cn 1:mybatis-mp - 亮点一:可自定义动态默认值 2:mybatis-mp - 亮点二:支持不同数据库 ID 自增配置 3:mybatis-mp - 亮点三:逻辑删除,可自动填充删除时间 4:mybatis-mp - 亮点四

2024-04-03

1:mybatis-mp - 亮点一:可自定义动态默认值 2:mybatis-mp - 亮点二:支持不同数据库 ID 自增配置 3:mybatis-mp - 亮点三:逻辑删除,可自动填充删除时间 4:mybatis-mp - 亮点四:可自定义 sql(sql 模板) 5

2024-06-14

官方文档:http://mybatis-mp.cn 1.5.8-rc  优化底层,增加了 with/with recursive 功能 WithQuery withQuery = WithQuery.create("sub") .recursive("n", "n2") .select("1,1"); withQuery.unionAll(Query.create() .select("n+1,n2+1") .from(withQuery) .lt(Methods.column("n"), 2) .l

2024-06-03

官方文档:http://mybatis-mp.cn   10 大与众不同的亮点: 1:mybatis-mp - 亮点一:可自定义动态默认值 2:mybatis-mp - 亮点二:支持不同数据库 ID 自增配置 3:mybatis-mp - 亮点三:逻辑删除,可自动填充删除时

2024-06-06

官方文档:http://mybatis-mp.cn SysUserVo sysUserVo = QueryChain.of(sysUserMapper) .select(SysUserVo.class) .from(SysUser.class) .join(SysUser.class, SysRole.class) .returnType(SysUserVo.class) .get(); 10 大与众不同的亮点: 1:mybatis-mp - 亮点一:可自定义动态

2024-06-04

官方文档:http://mybatis-mp.cn SysUserVo sysUserVo = QueryChain.of(sysUserMapper) .select(SysUserVo.class) .from(SysUser.class) .join(SysUser.class, SysRole.class) .returnType(SysUserVo.class) .get(); 10 大与众不同的亮点: 1:mybatis-mp - 亮点一:可自定义动态

2024-06-07

官方文档:http://mybatis-mp.cn 1.5.7  加强了对泛型的处理 更好的支持var SysUserVo sysUserVo = QueryChain.of(sysUserMapper) .select(SysUserVo.class) .from(SysUser.class) .join(SysUser.class, SysRole.class) .returnType(SysUserVo.class) .get(); 10 大与众不同的亮点:

2024-06-17

官方文档:http://mybatis-mp.cn 1.5.8 正式发布 1. SQL with 优化,支持with 递归 2. 增加orderByDesc 方法 3:order by nulls first last 适配 4:兼容人大金仓数据库 5:兼容clickhouse 6:修复模板包含列别名的问题 7:优化update set 增加when

2024-06-01

官方文档:http://mybatis-mp.cn 1.5.3 更新: 1:优化分页paging,让开发者可以继承Pager,并分页是无需再转换 2:兼容普通VO,实现字段名映射,lambda映射,例如:.selectWithFun(SysAuthority::getParentId, c -> c.as(Tree::getParentId)) 3:修复sql模板

2024-06-29

thods count方法增加distinct功能 10 大与众不同的亮点: 1:mybatis-mp - 亮点一:可自定义动态默认值 2:mybatis-mp - 亮点二:支持不同数据库 ID 自增配置 3:mybatis-mp - 亮点三:逻辑删除,可自动填充删除时间 4

2024-07-24

mybatis-mp是一款真正意义上ORM框架,绝对好用的不行!!! 官方文档:https://mybatis-mp.cn 1.6.0 rc1 发布 1:减少生成器maven依赖 2:增加多主键兼容   10 大与众不同的亮点: 1:mybatis-mp - 亮点一:可自定义动态默

2024-07-12

官方文档:https://mybatis-mp.cn 1.5.9 正式发布 1:增加 json字段 对应的typeHandler 2:优化了maven依赖 3:@TableField 增加 insert 开关 4:新增saveOrUpdate 5:优化DaoImpl,让继承者更容易扩展 6:Methods 增加count1()/countAll()方法 7:Met

2024-05-29

官方文档:http://mybatis-mp.cn 1.5.1更新: 1.修复了多数据源 springboot3下报错的问题 2.部分数据库函数同时兼容各数据库 3.增加不同数据库执行不同sql功能 SysUser sysUser = QueryChain.of(sysUserMapper) .select(SysUser::getId) .onDB(DbType.H2, queryC

2023-12-21

mybatis-mp 包含丰富的 api: 1:基于注解,映射数据库; 2:支持多表 join 和返回; 3:api 采用 lambda 和 stream 流式设计; 4:内置分页以及超强的 sql 优化功能; 5:稳定且性能极优; 6:轻量级封装 mybatis,几乎没有侵入; 7: