#{}使用的是预编译对应JDBC中的PreparedStatement
${}mybatis不会修改或者转义字符串,直接输出变量值
使用#{}可以防止sql注入
使用#{}包裹的语句会加上单引号
会使得部分语句失效
如创建mysql表的时候,只能使用${}
1 2 3 4 5 6 7 8 9 10
| <update id="createByTableName" > create table ${CreateTable.tableName} ( id int(11) , <foreach collection="CreateTable.tableList" index="index" item="item"> ${ item } varchar(64) , </foreach> PRIMARY KEY (id)
); </update>
|