基于mybatis like %%的问题

 更新时间:2021年10月01日 08:34:56   作者:intelrain  
这篇文章主要介绍了mybatis like %%的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

mybatis like %%问题

<select id="getMaxNotOnlineInfoByConditon" resultType="com.shishike.susie.entity.CustomConfirmInfo">
 
SELECT *
FROM t_customconfirminfo
WHERE (if(#{pduName,jdbcType=VARCHAR} IS NULL, 0 = 0, pduname = #{pduName,jdbcType=VARCHAR})
   AND if(#{moduleName,jdbcType=VARCHAR} IS NULL, 0 = 0, modulename = #{moduleName,jdbcType=VARCHAR})
   AND if(#{env,jdbcType=VARCHAR} IS NULL, 0 = 0, confirminfo = #{env,jdbcType=VARCHAR})
   AND if(#{ossAddress,jdbcType=VARCHAR} IS NULL, 0 = 0, ossaddress = #{ossAddress,jdbcType=VARCHAR})
   AND if(#{branch,jdbcType=VARCHAR} IS NULL, 0 = 0,  branch like concat(concat('%',#{branch,jdbcType=VARCHAR}),'%'))
   AND if(#{confirmId,jdbcType=BIGINT} IS NULL, 0 = 0, id > #{confirmId,jdbcType=BIGINT})
   AND onlineinfo is null)
ORDER BY CREATED DESC
LIMIT 1
</select>

mybatis 关于like的处理

1、利用"%"对入参进行拼接

2、SQL语句字符串拼接

SELECT * FROM tableName WHERE name LIKE CONCAT(CONCAT('%', #{text}), '%');

3、bind标签

<select id="findUserByFuzzyEmail" resultMap="BaseResultMap"
        parameterType="java.lang.String">
        select id,username,email,status,createtime,updatetime from tb_user
        <bind name="pattern" value="'%'+_parameter.getEmail() +'%'" />
        <where>
            <if test="email != null and email != ''">
                email like #{pattern}
            </if>
        </where>
    </select>

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。

相关文章

  • SpringBoot常用注解@RestControllerAdvice详解

    SpringBoot常用注解@RestControllerAdvice详解

    这篇文章主要介绍了SpringBoot常用注解@RestControllerAdvice详解,@RestControllerAdvice是一个组合注解,由@ControllerAdvice、@ResponseBody组成,而@ControllerAdvice继承了@Component,因此@RestControllerAdvice本质上是个Component,需要的朋友可以参考下
    2024-01-01
  • SpringBoot中的异步执行方法详解

    SpringBoot中的异步执行方法详解

    这篇文章主要介绍了SpringBoot中的异步执行方法详解,ThreadpoolTaskExecutor不需要手动的创建当前线程池,但往往我们还是会手动指定,具体原因看源码就可以自有判断,需要的朋友可以参考下
    2023-10-10
  • 使用C3P0改造JDBC对数据库的连接

    使用C3P0改造JDBC对数据库的连接

    这篇文章主要为大家详细介绍了使用C3P0改造JDBC对数据库的连接,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-08-08
  • Java中try-catch的使用及注意细节

    Java中try-catch的使用及注意细节

    现在有很多的语言都支持try-catch,比如常见的就是c++,java等,这篇文章主要给大家介绍了关于Java中try-catch的使用及注意细节的相关资料,文中通过图文以及实例代码介绍的非常详细,需要的朋友可以参考下
    2023-06-06
  • SpringBoot自定义工具类实现Excel数据存入MySQL数据库

    SpringBoot自定义工具类实现Excel数据存入MySQL数据库

    这篇文章主要为大家详细介绍了如何使用EasyExcel读取Excel内数据并转换为csv格式数据,然后实现字符串分割,分割出属性名和属性值建表插入MySQL数据库中,感兴趣的可以了解下
    2024-03-03
  • JDK源码Enum类原理及代码实例解析

    JDK源码Enum类原理及代码实例解析

    这篇文章主要介绍了JDK源码Enum类原理及代码实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • 关于@Value取值为NULL的解决方案

    关于@Value取值为NULL的解决方案

    这篇文章主要介绍了关于@Value取值为NULL的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-07-07
  • @RequestMapping 如何使用@PathVariable 从URI中获取参数

    @RequestMapping 如何使用@PathVariable 从URI中获取参数

    这篇文章主要介绍了@RequestMapping 如何使用@PathVariable 从URI中获取参数的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08
  • Eclipse中创建Web项目最新方法(2023年)

    Eclipse中创建Web项目最新方法(2023年)

    在Java开发人员中,最常用的开发工具应该就是Eclipse,下面这篇文章主要给大家介绍了关于Eclipse中创建Web项目2023年最新的方法,需要的朋友可以参考下
    2023-09-09
  • Java基础-Java的体系结构

    Java基础-Java的体系结构

    这篇文章主要介绍了Java的体系结构,Java几乎成为了“开源”的代名词。第三方开源软件和框架。如Tomcat、Struts,MyBatis,Spring等,下面我们来看看文章具体的内容介绍吧
    2022-01-01

最新评论