在MyBatis中,$和#都是用于參數替換的符號,但在使用時有一些區別。
示例:
<select id="getUserById" resultType="com.example.User">
SELECT * FROM user WHERE id = #{id}
</select>
在上面的示例中,#{id}將會被預編譯成一個占位符,然后通過PreparedStatement傳入參數值。
示例:
<select id="getUserByTableName" resultType="com.example.User">
SELECT * FROM ${tableName}
</select>
在上面的示例中,${tableName}將會直接替換成實際的表名。
總結: