栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

项目中mybatis-plus中利用QueryWrapper对象自定义查询条件实现

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

项目中mybatis-plus中利用QueryWrapper对象自定义查询条件实现

项目中mybatis-plus中利用QueryWrapper对象自定义查询条件实现
  • 1.自定义数据过滤的方法
  • 2.自定义mapper的查询方法
    • interface中
    • xml文件中

1.自定义数据过滤的方法
@Override
public QueryWrapper dataScopeFilter(Long sysUserId,String userAlias,String companyAlias){
1).根据用户id sysUserId查询用户
//如果查询的用户读取数据的范围等于设定值 则组装一个QueryWrapper对象 
 if (GlobalConfig.DATA_SCOPE_COMPANY_AND_CHILD.equals(oaSysRole.getDataScope())) {
                        qw.eq(String.format("%s.%s", officeAlias, companyAlias), sysUser.getCompanyId());
                        qw.or();
                        qw.likeRight(String.format("%s.%s", companyAlias, parentIds), this.getParentIds(sysUser.getCompanyId()) + sysUser.getCompanyId() + ",");
                    } else if (GlobalConfig.DATA_SCOPE_COMPANY.equals(oaSysRole.getDataScope())) {
                        qw.eq(String.format("%s.%s", companyAlias, officeId), sysUser.getCompanyId());
                        qw.or();
                        qw.eq(String.format("%s.%s", companyAlias, parentId), sysUser.getCompanyId());
              
                        qw.eq(String.format("%s.%s", companyAlias, type), EOffIceType.dept.getValue());
                    }
                    return qw;
}
2.自定义mapper的查询方法

将上一步返回的对象作为参数传递给mapper的查询方法。

List ods = sysGetOfficeIdListMapper.selectOfficeList(queryWrapper);
interface中
 List selectOfficeList(@Param(Constants.WRAPPER) Wrapper wrapper);
xml文件中
  

${ew.customSqlSegment} 会替换成参数中queryWrapper对象的条件,从而组装成一个完整的sql进行查询。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/631740.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号