关于SpringBoot项目使用mybatis持久层框架,自定义sql时字符串拼接的问题
## 关于SpringBoot项目使用mybatis持久层框架,自定义sql时字符串拼接的问题
问题描述:经常会在项目的xml文件中进行自定义sql的书写,当涉及到变量进行传值到sql中作为条件时,特别是需要进行拼接时,经常会出现问题,现记录一下自己的经验
方式一:使用${}代替#{}
例如:select * from user where name like '%${name}%'
很多时候我们用的#{}进行变量传值,而#{}这种方式传入的是字符串,并且带有引号,而${}传入的是内容本身
方式二:使用concat函数
例如:select * from user where name like concat(concat('%', #{name}), '%')