Mybatis如何解决sql中like通配符模糊匹配问题

 更新时间:2022年01月14日 14:47:00   作者:时间辜负了谁  
这篇文章主要介绍了Mybatis如何解决sql中like通配符模糊匹配问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

sql中like通配符模糊匹配问题

针对oracle数据库:

将查询条件通过功能类处理

/**
?? ? * Description: 处理转义字符%和_,针对ORACLE数据库
?? ? *?
?? ? * @param str
?? ? * @return
?? ? */
?? ?public static String escapeStr(String str) {
?? ??? ?String temp = "";
?? ??? ?for (int i = 0; i < str.length(); i++) {
?? ??? ??? ?if (str.charAt(i) == '%' || str.charAt(i) == '_') {
?? ??? ??? ??? ?temp += "\\" + str.charAt(i);
?? ??? ??? ?} else {
?? ??? ??? ??? ?temp += str.charAt(i);
?? ??? ??? ?}
?? ??? ?}
?? ??? ?return temp;
?? ?}

后台Contronller获得查询条件

并调用工具类处理

String areaname = request.getParameter("Areaname");
?? ?if (areaname != null) {
?? ??? ?if ("".equals(areaname)) {
?? ??? ??? ?areaname = null;
?? ??? ?} else {
?? ??? ??? ?areaname = StringUtils.escapeStr(areaname);
?? ? ? ? ? ?}
? ? ? ? }

mapper.xml中对应的使用方法

<if test="param.areaname!=null"> and areaname like '%'||#{param.areaname}||'%' escape '\'</if>

使用like实现模糊匹配

方式一

select * from t_user where name like ' %${value}% '

方式二

select * from t_user where name like '%'||${value}||'%'

方式三

select * from t_user where name like #{do_it_in_java}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 详解使用spring boot admin监控spring cloud应用程序

    详解使用spring boot admin监控spring cloud应用程序

    这篇文章主要介绍了详解使用spring boot admin监控spring cloud应用程序,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-05-05
  • JavaSE系列基础包装类及日历类详解

    JavaSE系列基础包装类及日历类详解

    这篇文章主要介绍的是JavaSE中常用的基础包装类以及日历类的使用详解,文中的示例代码简洁易懂,对我们学习JavaSE有一定的帮助,感兴趣的小伙伴快来跟随小编一起学习吧
    2021-12-12
  • SpringBoot之通过BeanPostProcessor动态注入ID生成器案例详解

    SpringBoot之通过BeanPostProcessor动态注入ID生成器案例详解

    这篇文章主要介绍了SpringBoot之通过BeanPostProcessor动态注入ID生成器案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-09-09
  • maven环境变量配置讲解

    maven环境变量配置讲解

    这篇文章主要介绍了maven环境变量配置讲解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • 基于Java中字符串内存位置详解

    基于Java中字符串内存位置详解

    下面小编就为大家带来一篇基于Java中字符串内存位置详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-08-08
  • Java责任链模式定义与用法分析

    Java责任链模式定义与用法分析

    这篇文章主要介绍了Java责任链模式定义与用法,结合具体实例分析了java责任链模式的功能、定义、使用方法、适用情况等,需要的朋友可以参考下
    2017-06-06
  • java 实现websocket的两种方式实例详解

    java 实现websocket的两种方式实例详解

    这篇文章主要介绍了java 实现websocket的两种方式实例详解,一种使用tomcat的websocket实现,一种使用spring的websocket,本文通过代码给大家介绍的非常详细,需要的朋友可以参考下
    2018-07-07
  • Spring Boot打开URL出现signin问题的解决

    Spring Boot打开URL出现signin问题的解决

    这篇文章主要介绍了Spring Boot打开URL出现signin问题的解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • Spring Boot  Excel文件导出下载实现代码

    Spring Boot Excel文件导出下载实现代码

    这篇文章带领我们直接实现Excel文件的直接导出下载,后续开发不需要开发很多代码,直接继承已经写好的代码,增加一个Xml配置就可以直接导出。具体实现代码大家跟随小编一起通过本文学习吧
    2018-11-11
  • Springboot Retry组件@Recover失效问题解决方法

    Springboot Retry组件@Recover失效问题解决方法

    在使用springboot的retry模块时,你是否出现过@Recover注解失效的问题呢?不用担心,这篇文章就来告诉你解决@Recover失效的办法,需要的小伙伴可以参考一下
    2021-11-11

最新评论