首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Java【代码 05】实现字符串转数据库的inStr使用JDK8 stream.collect(Collectors.joining(delimiter, pr

Java【代码 05】实现字符串转数据库的inStr使用JDK8 stream.collect(Collectors.joining(delimiter, pr

原创
作者头像
yuanzhengme
发布于 2025-07-24 17:55:11
发布于 2025-07-24 17:55:11
2500
举报
文章被收录于专栏:JavaCodeJavaCode

@TOC

1.why

有不少这样的情况,前端会传筛选条件,给到后端的时候是个 conditionStr ,如果您用的是 mybatis-plus 的 API 那么直接 split 一下就可以使用,如果不是,那就需要将其转换成 inStr ,下面举例说明。

2.use

  1. 转换【使用 JDK8 的 stream 实现】public class conditionStrToInStr { public static void main(String[] args) { String conditionStr = "conditionValueA,conditionValueB,conditionValueC"; String inStr = Arrays.stream(conditionStr.split(",")).collect(Collectors.joining("\',\'", "\'", "\'")); System.out.println(inStr); } } // 输出结果为 'conditionValueA','conditionValueB','conditionValueC'<select id="getInfoByCondition" parameterType="map" > SELECT * FROM tableName <where> <if test="inStr!= null and inStr!= ''"> AND conditionField IN ( ${inStr} ) </if> </where> </select> <!-- SELECT * FROM tableName WHERE conditionField IN ('conditionValueA','conditionValueB','conditionValueC') -->
  2. mapper文件使用 inStr

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • 1.why
  • 2.use
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档