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

@TOC

1.why

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

2.use

  1. 转换【使用 JDK8 的 stream 实现】
java 复制代码
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'
  1. mapper文件使用 inStr
xml 复制代码
<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') -->
相关推荐
野犬寒鸦6 小时前
从零起步学习并发编程 || 第一章:初步认识进程与线程
java·服务器·后端·学习
我爱娃哈哈6 小时前
SpringBoot + Flowable + 自定义节点:可视化工作流引擎,支持请假、报销、审批全场景
java·spring boot·后端
李梨同学丶8 小时前
0201好虫子周刊
后端
思想在飞肢体在追9 小时前
Springboot项目配置Nacos
java·spring boot·后端·nacos
Loo国昌11 小时前
【垂类模型数据工程】第四阶段:高性能 Embedding 实战:从双编码器架构到 InfoNCE 损失函数详解
人工智能·后端·深度学习·自然语言处理·架构·transformer·embedding
ONE_PUNCH_Ge12 小时前
Go 语言泛型
开发语言·后端·golang
良许Linux12 小时前
DSP的选型和应用
后端·stm32·单片机·程序员·嵌入式
不光头强12 小时前
spring boot项目欢迎页设置方式
java·spring boot·后端
怪兽毕设12 小时前
基于SpringBoot的选课调查系统
java·vue.js·spring boot·后端·node.js·选课调查系统
学IT的周星星13 小时前
Spring Boot Web 开发实战:第二天,从零搭个“会卖萌”的小项目
spring boot·后端·tomcat