and t.`requestControllerMethod` like
CONCAT('%',#{queryEntity},'%')
$使用↓
and t.`requestControllerMethod
like '%${title}%'
还有'
concat不是多个字符串拼接吗? 这里的CONCAT('%',#{queryEntity},'%') 为什么把'%'也分开了?
还有
concat能配合$又该怎么使用的呢?
4 个解决方案
#1
如果你有在控制台打印sql你就能看出来一个大概的区别,$是直接拼接进去的,#是类似占位符,打个比方传入id = 1
$在控制台会直接显示 id = 1,而#会显示id = ? 然后在下面会有参数1
最主要的用处是#可以有效防止SQL注入而$不行
$在控制台会直接显示 id = 1,而#会显示id = ? 然后在下面会有参数1
最主要的用处是#可以有效防止SQL注入而$不行
#2
最主要的用处是#可以有效防止SQL注入 效果和jdbc 的 id=?相同
而$单纯的字符串带入
而$单纯的字符串带入
#3
也就是${100} 打印的是100 ,${name} 打印的是name吗?
但是这样的话 为什么还要这样写like '%${title}%',而不是like '%title%' 呢?
是不是$和#都是取值? 而$是直接取值,而#也是取值,但是可以防止sql注入?
#4
都是取值,${id} 输出的是id的值,而不是id,你如果有打印sql在控制台的话这个是很明显的区别
#1
如果你有在控制台打印sql你就能看出来一个大概的区别,$是直接拼接进去的,#是类似占位符,打个比方传入id = 1
$在控制台会直接显示 id = 1,而#会显示id = ? 然后在下面会有参数1
最主要的用处是#可以有效防止SQL注入而$不行
$在控制台会直接显示 id = 1,而#会显示id = ? 然后在下面会有参数1
最主要的用处是#可以有效防止SQL注入而$不行
#2
最主要的用处是#可以有效防止SQL注入 效果和jdbc 的 id=?相同
而$单纯的字符串带入
而$单纯的字符串带入
#3
如果你有在控制台打印sql你就能看出来一个大概的区别,$是直接拼接进去的,#是类似占位符,打个比方传入id = 1
$在控制台会直接显示 id = 1,而#会显示id = ? 然后在下面会有参数1
最主要的用处是#可以有效防止SQL注入而$不行
也就是${100} 打印的是100 ,${name} 打印的是name吗?
但是这样的话 为什么还要这样写like '%${title}%',而不是like '%title%' 呢?
是不是$和#都是取值? 而$是直接取值,而#也是取值,但是可以防止sql注入?
#4
如果你有在控制台打印sql你就能看出来一个大概的区别,$是直接拼接进去的,#是类似占位符,打个比方传入id = 1
$在控制台会直接显示 id = 1,而#会显示id = ? 然后在下面会有参数1
最主要的用处是#可以有效防止SQL注入而$不行
也就是${100} 打印的是100 ,${name} 打印的是name吗?
但是这样的话 为什么还要这样写like '%${title}%',而不是like '%title%' 呢?
是不是$和#都是取值? 而$是直接取值,而#也是取值,但是可以防止sql注入?
都是取值,${id} 输出的是id的值,而不是id,你如果有打印sql在控制台的话这个是很明显的区别