mybatis框架中 #和$传递参数的区别 和注意

Posted 喝耶加雪啡的JAVA猴子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mybatis框架中 #和$传递参数的区别 和注意相关的知识,希望对你有一定的参考价值。

 

#{}:

1、  是预编译

2、  编译成占位符

3、  可以防止sql注入

4、  自动判断数据类型

5、  一个参数时,可以使用任意参数名称进行接收

 

${}:

1、  非预编译

2、  sql的直接拼接

3、  不能防止sql注入

4、  需要判断数据类型,如果是字符串,需要手动添加引号。

5、  一个参数时,参数名称必须是value,才能接收参数。

以上是关于mybatis框架中 #和$传递参数的区别 和注意的主要内容,如果未能解决你的问题,请参考以下文章

MyBatis动态sql之${}和#{}区别

Mybatis的mapper文件中#和$的区别 以及 resultType和resultMap的区别

数据库框架mybatis使用order by 动态参数及#{}和${}的区别

MyBatis中#{ }和${ }的区别

ArcGIS风暴ArcGIS标注和注记的区别及用法案例详解

mybatis中#{}和${}的区别