Advertisement

How to acquire parameter values in MyBean?

阅读量:

MyBatis 中用于获取参数值的两种主要方式分别为 ${}#{}

${} 的核心机制是字符串拼接,而 #{} 的核心机制则是占位符赋值

在使用 ${} 时,其通过字符串拼接的方式构建 SQL 语句。当对字符串类型或日期类型的字段进行赋值时,需由用户手动添加单引号以确保语法正确。

相比之下,#{} 则采用占位符赋值的方式进行 SQL 拼接。对于字符串类型或日期类型的字段,在进行赋值操作时,系统能够自动为其添加单引号,从而简化开发流程。

通常建议优先使用 #{} 来获取参数值,以有效避免潜在的 SQL 注入风险。然而,在特定场景下若需使用 ${} ,为保障安全性,可通过调用 concat 函数实现安全的字符串拼接操作。

单个字面量类型参数分析

当 mapper 接口中的方法参数为单一的字面量类型时,可通过 ${}#{} 的方式,以任意命名(建议采用含义明确的命名方式)来提取参数值,其中 ${} 需要用户手动添加单引号进行处理。

复制代码
    <!--User getUserByUsername(String username);-->
    <select id="getUserByUsername" resultType="User">
    	se

全部评论 (0)

还没有任何评论哟~