搜索模糊匹配% _ 等特殊字符转义工具

mysql 和达梦数据库不同的解决方式:
mysql 数据库 解决搜索框传入%等特殊字符查询全部数据的问题:

/**
 *@author liuxingying
 *@description 搜索转义工具类
 *@since 2023/11/30
 */
public class EscapeUtil {
   
   

    /**
     * sql的模糊查询时特殊字符转义(条件查询%或者_查询所有问题)
     */
    public static String escapeChar(String str){
   
   
        if(StringUtils.isNotBlank(str)){
   
   
            if (str.contains("/")){
   
   
                str = str.replaceAll("/", "\\\\/");
            }
            if (str.contains("%")){
   
   
                str = str.replaceAll("%", "\\\\%");
            }
            if (str.contains("_")){
   
   
                str = str.replaceAll("_", "\\\\_");
            }
        }
        return str.trim();
    }
}

达梦 数据库 解决搜索框传入%等特殊字符查询全部数据的问题:
加入mybatis拦截器处理

package com.dx.radar.data;

import org.apache.ibatis.cache.CacheKey;
import org.apache.ibatis.executor.Executor;
import org.apache.ibatis.mapping.BoundSql;
import org.apache.ibatis.mapping.MappedStatement;
import org.apache.ibatis.mapping.ParameterMapping;
import org.apache.ibatis.mapping.ParameterMode;
import org.apache.ibatis.plugin.Interceptor;
import org.apache.ibatis.plugin.Intercepts;
import org.apache.ibatis.plugin.Invocation;
import org.apache.ibatis.plugin.Plugin;
import org.apache.ibatis.plugin.Signature;
import org.apache.ibatis.reflection.MetaObject;
import org.apache.ibatis.session.ResultHandler;
import org.apache.ibatis.session.RowBounds;
import org.springframework.stereotype.Component;

import java.lang.reflect.Field;
import java.util.List;
import java.util
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值