取参语法
#{}语法 | ${} 语法 | ||
---|---|---|---|
参数名称 | 简单数据类型 | 参数名称任意 | value字符串 |
参数名称 | 传入pojo对象 | 属性名 | 属性名 |
原理 | – | 底层是preparedstatement预编译语句(性能、安全防止sql注入) | 简单的字符串拼接 |
– | – | 会自动给字符串参数添加一对单引号 | 不会自动给字符串参数添加单引号对 |
#{}和${}选择原则:
一般使用#(因为性能和安全),特殊情况使用$(参数为数据库对象,比如表名或者order by的字段,不希望自动加单引号对)
取参语法
#{}语法 | ${} 语法 | ||
---|---|---|---|
参数名称 | 简单数据类型 | 参数名称任意 | value字符串 |
参数名称 | 传入pojo对象 | 属性名 | 属性名 |
原理 | – | 底层是preparedstatement预编译语句(性能、安全防止sql注入) | 简单的字符串拼接 |
– | – | 会自动给字符串参数添加一对单引号 | 不会自动给字符串参数添加单引号对 |
#{}和${}选择原则:
一般使用#(因为性能和安全),特殊情况使用$(参数为数据库对象,比如表名或者order by的字段,不希望自动加单引号对)