mybatis中的#和$的区别?
1、在xml文件中书写如下代码,有$和#。<select id="findById" resultTyp髫潋啜缅e="Dept" parameterType="long"> SELECT deptno,dname,loc FROM ${deptno} WHERE deptno=#{deptno} </select>

2、执行单元测试。There is no getter for property named 'deptno' in 'class java.lang.Long'

3、说明${deptno}被解析成带有引号的'deptno'.

4、$一般被用于传递表名,$将传入的数据直接显示生成在sql中<sele罕铞泱殳ct id="fin颊俄岿髭dById" resultType="Dept" parameterType="long"> SELECT deptno,dname,loc FROM ${deptTable} WHERE deptno= #{deptno} ;</select>

5、#{}会把传入的数据都当成一个字符串,会对自动传入的数据加一个双引号。

6、#{}方式能够很大程度防止sql注入,${}方式无法防止Sql注入。
