Mybatis 之$与#

mybatis的xml文件去写动态sql的话,关于占位符我们有两种写法,截图如下:

                                  Select * from Table_name where Cloumn = ${value}

共同:两者都是动态传参

区别:$纯碎的 string 替换,在动态 SQL 解析阶段将会进行变量替换,也就是传的A 后台解析后 sql中还是A,#解析为一个 JDBC 预编译语句(prepared statement)的参数标记符,也就是个占位符

导致问题:$传参会导致sql注入

猜你喜欢

转载自www.cnblogs.com/zslb/p/10104420.html
今日推荐