#{}和${}的区别
时间: 2023-11-01 14:56:29 浏览: 54
回答: #{}和${}是在MyBatis中用于替换SQL语句中的参数的两种不同的方式。#{}是预编译处理方式,它会把 #{} 替换成了 ?号,并使用 PreparedStatement 的 set 方法来赋值。最后会给 value 加上单引号,确保不会发生SQL注入。而${}则是直接替换的方式,它会将 ${} 替换成具体的参数值,不进行预编译处理。在使用${}时,需要注意,如果参数值中包含特殊字符,需要手动进行字符串拼接,可以使用concat函数来进行字符串拼接。因此,#{}方式更加安全,能够防止SQL注入,而${}方式更加灵活,可以直接替换参数值。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [新人一看就懂: #{} 和 ${} 的区别?](https://blog.csdn.net/CYK_byte/article/details/129283220)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
阅读全文