mybatis-mp 之多表 join,非常简单
官网:https://mybatis-mp.cn
多表join
List<SysUser> list=QueryChain.of(sysUserMapper)
.select(SysUser.class)
.from(SysUser.class)
.join(SysUser.class,SysRole.class)
.list();
join相同表
List<SysUser> list=QueryChain.of(sysUserMapper)
.select(SysUser.class)
.from(SysUser.class)
.join(SysUser.class,1,SysUser.class,2,on->on.eq(SysUser::getId,1,SysUser::getRole_id,2))
.list();
join子查询
SubQuery subQuery=SubQuery.create("sub")
.select(SysRole.class)
.from(SysRole.class)
.eq(SysRole::getId,1);
List<SysUser> list=QueryChain.of(sysUserMapper)
.select(SysUser.class)
.from(SysUser.class)
.join(SysUser.class,subQuery,on->on.eq(SysUser::getRole_id,subQuery.$(subQuery,SysRole::getId)))
.list();
返回2张相同表字段
List<SysUserVO> list=QueryChain.of(sysUserMapper)
.select(SysUser.class)
.select(SysUser.class,2)
.from(SysUser.class)
.join(SysUser.class,1,SysUser.class,2,on->on.eq(SysUser::getId,1,SysUser::getRole_id,2))
.returnType(SysUserVO.class)
.list();
ORM join 好不好用 就看 你用它 join 自己的处理 好不好 一看便知!!!