How to acquire parameter values in MyBean?
发布时间
阅读量:
阅读量
MyBatis 中用于获取参数值的两种主要方式分别为 ${} 与 #{} :
${} 的核心机制是字符串拼接,而 #{} 的核心机制则是占位符赋值。
在使用 ${} 时,其通过字符串拼接的方式构建 SQL 语句。当对字符串类型或日期类型的字段进行赋值时,需由用户手动添加单引号以确保语法正确。
相比之下,#{} 则采用占位符赋值的方式进行 SQL 拼接。对于字符串类型或日期类型的字段,在进行赋值操作时,系统能够自动为其添加单引号,从而简化开发流程。
通常建议优先使用 #{} 来获取参数值,以有效避免潜在的 SQL 注入风险。然而,在特定场景下若需使用 ${} ,为保障安全性,可通过调用 concat 函数实现安全的字符串拼接操作。
单个字面量类型参数分析
当 mapper 接口中的方法参数为单一的字面量类型时,可通过 ${} 与 #{} 的方式,以任意命名(建议采用含义明确的命名方式)来提取参数值,其中 ${} 需要用户手动添加单引号进行处理。
<!--User getUserByUsername(String username);-->
<select id="getUserByUsername" resultType="User">
se
全部评论 (0)
还没有任何评论哟~
