${} 和 #{} 的区别
时间: 2023-11-01 21:56:41 浏览: 31
${}和#{}都是用来引用变量的语法,在不同的语境下有不同的作用。
${}用于引用变量的值,在shell脚本中,可以使用${}来获取变量的值。例如,${pids[@]}表示获取数组pids的所有元素值。在SQL语句中,${id}表示获取变量id的值。
#{}用于引用变量的名称,在一些编程语言和模板引擎中,可以使用#{}来表示变量的名称。例如,在模板引擎中,#{id}表示获取变量id的名称。
综上所述,${}用于引用变量的值,而#{}用于引用变量的名称。
相关问题
mysql$和#的区别
在MySQL中,$和#有不同的作用和含义。
1. $符号表示变量的引用。在MySQL中,$后面跟着变量名,表示使用该变量的值。例如,如果有一个变量$var,可以使用$var来引用该变量的值。
2. #符号表示注释。在MySQL中,#后面的内容将被视为注释,不会被执行或解释为SQL语句的一部分。可以使用#符号来添加注释,提供代码的可读性和维护性。
Mybatis中$与#的区别, $的应用场景
#的区别是什么?
Mybatis中$和#都用于动态SQL语句中的参数绑定,但它们之间有几个区别:
1. #用于预编译,$用于值传递。#会将参数放入预编译语句中的占位符中,可以避免SQL注入,但会使SQL语句无法重用;$将参数直接拼接进SQL中,可以重用SQL语句,但有SQL注入的风险。
2. #可以自动进行类型转换,$不能自动转换。#会根据目标类型自动转换参数类型,$需要手动进行类型转换。
3. #可以在SQL中使用占位符,$不能使用。#可以在SQL语句中使用占位符进行模糊查询等操作,$只能直接拼接参数值。
因此,在使用Mybatis时,应根据具体的业务场景和需求选择使用#或$。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)