mybatis-mp 之多表 join,非常简单

来源: 投稿
作者: Ai东
2024-06-24 10:52:00

官网: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 自己的处理 好不好 一看便知!!!

展开阅读全文
点击加入讨论🔥(2) 发布并加入讨论🔥
2 评论
3 收藏
分享
返回顶部
顶部