Mybatis如何分割字符串

 更新时间:2023年12月05日 16:19:49   作者:sayyy  
这篇文章主要介绍了Mybatis如何分割字符串问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

前言

springboot 2.1.1.RELEASE

分割字符串

<select id="selectXXXList" parameterType="XXX" resultMap="XXXResult">
	select * from xxx
    <where>  
        <if test="tagIds != null  and tagIds != ''"> and 
         	<foreach item="tagId" collection="tagIds.split(',')" open="(" separator=" or " close=")">
          		FIND_IN_SET (#{tagId}, tag_ids)
      		</foreach>
        </if>
    </where>
</select>
<if test="tagIds != null and tagIds != ''"> ... collection="tagIds.split(',')" ... </if>

tagIds 是调用 selectXXXList 时传入的参数

... <foreach item="tagId" collection="tagIds.split(',')" ...> ...

tagIds 调用 split 函数,将 tagIds 进行分割。

foreach 遍历分割后的数据。

每次遍历时,数据赋值给tagId变量。

... <foreach item="tagId" ... separator=" or " ...> FIND_IN_SET (#{tagId}, tag_ids) </foreach> ...

得到

FIND_IN_SET (#{tagId}, tag_ids) or FIND_IN_SET (#{tagId}, tag_ids) or ...

tagIds=1,2 时的执行效果:

SQL: 

select * from xxx where (FIND_IN_SET (#{tagId}, tag_ids) or FIND_IN_SET (#{tagId}, tag_ids))

参数:

  • 1(String)
  • 2(String)

总结

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

相关文章

  • Spring Cloud Feign的文件上传实现的示例代码

    Spring Cloud Feign的文件上传实现的示例代码

    这篇文章主要介绍了Spring Cloud Feign的文件上传实现的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-03-03
  • java代码之谜运算符篇

    java代码之谜运算符篇

    从最简单的运算符加号(+)说起,加号(+)是个二元运算符——也就是说,加号只把两个数联接起来,从来不把第三个或者更多的联接起来
    2012-11-11
  • Maven之导入thymeleaf依赖飘红问题及解决

    Maven之导入thymeleaf依赖飘红问题及解决

    这篇文章主要介绍了Maven之导入thymeleaf依赖飘红问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • SpringBoot中自定义注解实现参数非空校验的示例

    SpringBoot中自定义注解实现参数非空校验的示例

    这篇文章主要介绍了SpringBoot中自定义注解实现参数非空校验,帮助大家更好的理解和使用springboot框架,感兴趣的朋友可以了解下
    2020-11-11
  • Java开发日记之你会不会5种牛的yml文件读取方式

    Java开发日记之你会不会5种牛的yml文件读取方式

    YAML是一种类似XML和JSON的用于格式化数据的标记语言,它的可读性比起XML和JSON更高一些,这篇文章主要给大家介绍了关于Java开发日记之yml文件读取方式的相关资料,需要的朋友可以参考下
    2025-05-05
  • MyBatis处理懒加载和预加载的方式

    MyBatis处理懒加载和预加载的方式

    在 MyBatis 中,懒加载(Lazy Loading)和预加载(Eager Loading)是两种不同的查询策略,用于控制关联对象的加载时机和方式,本文给大家详细介绍了具体处理方式,需要的朋友可以参考下
    2025-11-11
  • Spring AOP 中@annotation的两种写法使用

    Spring AOP 中@annotation的两种写法使用

    本文介绍了Spring AOP中@annotation的两种写法及区别,一种只拦截方法,另一种拦截并获取注解对象,这两种写法都能生效,但用途不同,选择哪种写法取决于具体需求
    2026-02-02
  • Spring Cloud Zipkin服务端追踪服务

    Spring Cloud Zipkin服务端追踪服务

    这篇文章主要介绍了Spring Cloud Zipkin服务端追踪服务,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • 详解IDEA中MAVEN项目打JAR包的简单方法

    详解IDEA中MAVEN项目打JAR包的简单方法

    本篇文章主要介绍了详解IDEA中MAVEN项目打JAR包的简单方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-12-12
  • 详解SpringBoot如何优雅的进行测试打包部署

    详解SpringBoot如何优雅的进行测试打包部署

    这篇文章主要为大家详细介绍了SpringBoot如何优雅的进行测试打包部署,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-12-12

最新评论