mybatis中的#和$的区别?

 时间:2026-02-14 14:39:22

1、在xml文件中书写如下代码,有$和#。

<select id="findById" resultType="Dept" parameterType="long">

   SELECT deptno,dname,loc FROM ${deptno} WHERE deptno=#{deptno}

</select>

mybatis中的#和$的区别?

2、执行单元测试。

There is no getter for property named 'deptno' in 'class java.lang.Long'

mybatis中的#和$的区别?

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

mybatis中的#和$的区别?

4、$一般被用于传递表名, $将传入的数据直接显示生成在sql中

<select id="findById" resultType="Dept" parameterType="long">              SELECT deptno,dname,loc FROM ${deptTable} WHERE deptno=               #{deptno} ;</select>

mybatis中的#和$的区别?

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

mybatis中的#和$的区别?

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

mybatis中的#和$的区别?

  • ubuntu下编译试用bullet3物理引擎
  • CentOS如何添加PATH路径?
  • Windows11系统如何固定开始菜单#校园分享#
  • 怎么让service一直运行
  • 如何检查CPU是否支持硬件辅助虚拟化
  • 热门搜索
    泰国旅游天气预报 千岛湖旅游官方 夏门旅游景点 旅游案例分析 蚂蜂网旅游 国庆旅游好去处 杭州海外旅游有限公司 福建三明旅游 旅游科学 内蒙古赤峰旅游景点