1
、占位符
(
1
)
#{}
表 示 一 个 占 位 符 号 , 通 过
#{}
把
parameterType
传 入 的 内 容 通 过
preparedStatement
向占位符中设置值,自动进行
java
类型和
jdbc
类型转换,
#{}
可
以有效防止
sql
注入。
(
2
)
#{}
可以接收简单类型值或
pojo
属性值。如果
parameterType
传输单个简单类型
值,
#{}
括号中可以是
value
或其它名称。
例如(这是用
JDBC
编写,在
Mybatis
中我们看不到
PreparedStatement
,只要是用占
位符
#{}
,它自动实现这过程):
String sql = “insert into user (name,pwd) values(?,?)”;
PreparedStatement ps = conn.preparedStatement(sql); ps.setString(1,
“jack”); //
占位符顺序从
1
开始
ps.setString(2, “123456”); //
也可以使用
setObject
ps.executeQuery();
2
、拼接符
${}
表示拼接
sql
串,通过
${}
可以将
parameterType
传入的内容直接拼接在
sql
中且
不进行
jdbc
类型转换,
${}
可以接收简单类型值或
pojo
属性值,如果
parameterType
传输单个简单类型值,
${}
括号中只能是
value
。
评论