mybatis中的#和$的区别?

 时间:2026-04-23 07:08:30

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是否支持硬件辅助虚拟化
  • 热门搜索
    北川羌城旅游区 广东周边旅游景点大全 哪里可以回收手表 三星手机黑屏怎么办 torrent怎么下载 闽南理工学院怎么样 喝醉酒难受怎么办 山东青岛旅游攻略 鹿晗是哪里人 如何瘦脸