mirror of
https://github.com/Snailclimb/JavaGuide
synced 2025-06-16 18:10:13 +08:00
完善变量替换
This commit is contained in:
parent
164f98c74f
commit
6dfc8b1f9f
@ -25,7 +25,13 @@ head:
|
|||||||
|
|
||||||
答:
|
答:
|
||||||
|
|
||||||
- `${}`是 Properties 文件中的变量占位符,它可以用于标签属性值和 sql 内部,属于静态文本替换,比如\${driver}会被静态替换为`com.mysql.jdbc. Driver`。
|
- `${}`是 Properties 文件中的变量占位符,它可以用于标签属性值和 sql 内部,属于原样文本替换,可以替换任意内容,比如\${driver}会被原样替换为`com.mysql.jdbc. Driver`。
|
||||||
|
一个实例:根据参数按任意字段排序:
|
||||||
|
```sql
|
||||||
|
select * from users order by ${orderCols}
|
||||||
|
```
|
||||||
|
`orderCols`可以是 `name`、`name desc`、`name,sex asc`等,实现灵活的排序。
|
||||||
|
|
||||||
- `#{}`是 sql 的参数占位符,MyBatis 会将 sql 中的`#{}`替换为? 号,在 sql 执行前会使用 PreparedStatement 的参数设置方法,按序给 sql 的? 号占位符设置参数值,比如 ps.setInt(0, parameterValue),`#{item.name}` 的取值方式为使用反射从参数对象中获取 item 对象的 name 属性值,相当于 `param.getItem().getName()`。
|
- `#{}`是 sql 的参数占位符,MyBatis 会将 sql 中的`#{}`替换为? 号,在 sql 执行前会使用 PreparedStatement 的参数设置方法,按序给 sql 的? 号占位符设置参数值,比如 ps.setInt(0, parameterValue),`#{item.name}` 的取值方式为使用反射从参数对象中获取 item 对象的 name 属性值,相当于 `param.getItem().getName()`。
|
||||||
|
|
||||||
### xml 映射文件中,除了常见的 select、insert、update、delete 标签之外,还有哪些标签?
|
### xml 映射文件中,除了常见的 select、insert、update、delete 标签之外,还有哪些标签?
|
||||||
|
Loading…
x
Reference in New Issue
Block a user