MybatisPlus+SpringBoot 通过sql根据某些字段过滤增删改查操作
因为项目有个需求,对指定的功能的某些操作(比如数据的修改删除等)做权限过滤控制,当前登录人必须是自己或者权限范围内的人创建的数据才可以被操作,所以在操作sql前加一层sql过滤
config配置
import com.baomidou.mybatisplus.core.parser.ISqlParser;
import com.baomidou.mybatisplus.extension.parsers.DynamicTableNameParser;
import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
import com.baomidou.mybatisplus.extension.plugins.tenant.TenantHandler;
import com.baomidou.mybatisplus.extension.plugins.tenant.TenantSqlParser;
import net.sf.jsqlparser.expression.Expression;
import net.sf.jsqlparser.expression.StringValue;
import org.apache.commons.lang3.ArrayUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.util.CollectionUtils;
import java.util.ArrayList;
import java.util.List;
@Configuration
public class DynamicTableConfig {
@Value("${mybatisPlus.noUseDataTable:user_table,role_table}")
private String[] noUseDataTable;
@Bean
public PaginationInterceptor paginationInterceptor() {
PaginationInterceptor paginationInterceptor = new PaginationInterceptor();
// 设置最大单页限制数量,默认 500 条&#x