MyBatis中#和$的区别

#{ }:解析为一个 JDBC 预编译语句(prepared statement)的参数标记符,在SQL中解析为字符串

如:

1
SELECT * FROM test WHERE id=#{id}

解析为SQL时为

1
SELECT * FROM test1 WHERE id="1"

${}:在SQL中解析为变量,不带引号

如:

1
SELECT * FROM ${tableName} WHERE id="1"

解析为SQL时为

1
SELECT * FROM test2 WHERE id="1"
分享到: