1.美图

ibatis中#和$符号的区别

在我们使用ibatis过程中,写sqlmap配置文件时经常会用到两个特殊的传值符号#和$符合,下面根据个人的分析总结,两者的区别。

  1.  数据类型匹配
    

#:会进行预编译,而且进行类型匹配;

$:不进行数据类型匹配。

如:

变量name的类型是string, 值是"张三"的时候

          $name$ = 张三#name# = '张三'

那么使用就会报错,若要使用就会报错,若要使用就会报错,若要使用的话,需要修改为’namenamename’;

我有一次要实现

(CURRENT_DATE-INTERVAL '7D') 使用这个 (CURRENT_DATE-INTERVAL '${dayNum}D')
  1.  实现方式
    

$ 的作用实际上是字符串拼接,

     select * from users where name= $name$等效于StringBuffer sb = newStringBuffer(256);sb.append("select * from userswhere name=").append(name);sb.toString();

#用于变量替换

    select * from users  where name = #name#等效于prepareStement=stmt.createPrepareStement("select * from users where name = ?")prepareStement.setString(1,'张三');
  1.  #和$使用场景
    

(1)变量的传递, 必须使用#,防止sql注入;# 是用prepareStement,提示效率。

#方式一般用于传入添加/修改的值或查询/删除的where条件

(2) 只是简单的字符拼接而已,对于非变量部分,那只能使用只是简单的字符拼接而已,对于非变量部分, 那只能使用只是简单的字符拼接而已,对于非变量部分,那只能使用, 实际上, 在很多场合,$也是有很多实际意义的

         $方式一般用于传入数据库对象.例如传入表名.例如:select  * from  $tableName$  对于不同的表执行统一的查询update  $tableName$ set  name = #name#  每个实体一张表,改变不用实体的状态特别说明, $只是字符串拼接,所以要特别小心sql注入问题。(3)能同时使用#和$的时候,最好用#。

ibatis中#和$符号的区别相关推荐

  1. OrCAD Capture CIS 原理图绘制时Place Power(放置电源符号)中各个符号的区别

    在OrCAD中绘制原理图时,点击Place Power或者快捷键F弹出窗口中有多个可选项 它们区别如下: CAPSYM库中的电源仅仅是一种符号,在电路中只表示链接的是一种电源,本身不具备电压值,但此类 ...

  2. 【ibatis】ibatis 中 $与#的区别

    ibatis 中 $与#的区别 我们在使用iBATIS时会经常用到#和$这两个符号. 一 .#与$区别说通俗一点就是 $中间的变量就是直接替换成值的 #会根据变量的类型来进行替换 比如articleT ...

  3. ibatis 中isNull, isNotNull与isEmpty, isNotEmpty区别

    <span style="font-family: Arial, Verdana, sans-serif; white-space: normal; "><str ...

  4. Mybatis中的#号与$符号的区别

    1.#{变量名}可以进行预编译.类型匹配等操作, 2.#{变量名}会转化为jdbc的类型. 3.${变量名}不进行数据类型匹配,直接替换. 4.#方式能够很大程度防止sql注入. 5.$方式无法方式s ...

  5. ibatis 中 $与#的区别

    在sql配置中比如in(#rewr#) 与in ($rewr$) 在Ibatis中我们使用SqlMap进行Sql查询时需要引用参数,在参数引用中遇到的符号#和$之间的区分为,#可以进行与编译,进行类型 ...

  6. 计算机中符号位正负,负数在计算机中的表示+有符号无符号的区别+负数按位运算...

    部分转载自:https://blog.csdn.net/kebi007/article/details/89741960 一.负数的二进制位表示法 原码:一个整数按照绝对值的大小转换成的二进制数,称为 ...

  7. 负数在计算机中的表示+有符号无符号的区别+负数按位运算

    部分转载自:https://blog.csdn.net/kebi007/article/details/89741960 一.负数的二进制位表示法 原码:一个整数按照绝对值的大小转换成的二进制数,称为 ...

  8. vi设计中视觉识别符号设计与商标设计的区别

    vi设计中视觉识别符号设计与商标设计的区别 编辑:AGO(安可)品牌顾问 vi设计中视觉识别符号的主要作用是,跟企业外部组织和公众进行视觉交流,将企业精神.企业个性等加以集中和突出,并通过象征寓意的艺 ...

  9. mybatis与php,浅谈mybatis中的#和$的区别

    浅谈mybatis中的#和$的区别 发布于 2016-07-30 11:14:47 | 236 次阅读 | 评论: 0 | 来源: 网友投递 MyBatis 基于Java的持久层框架MyBatis 本 ...

最新文章

  1. 【OpenCV学习笔记2】OpenCV 完全安装 新增VS2010+OpenCV2.1,新增VS2010+OpenCV2.3.1
  2. OpenCV-Python教程(4、形态学处理)
  3. POJ 1321 棋盘问题(DFS 状压DP)
  4. Linux突然连不上网,ping不通百度,连不上MobaXterm
  5. 无忧开通了博客园博客主页
  6. linux伙伴系统接口,Linux伙伴系统(一)--伙伴系统的概述
  7. python输入4个数字_输入4个整数,要求按从小到大的顺序输出python
  8. idea 调试 js
  9. 「2019冬令营提高组」不同的缩写
  10. 51nod1183编辑距离----DP--字符串最小变化
  11. 在Web开发中完美控制IE标题栏
  12. DLLPasswordFilterImplant:DLL密码过滤器
  13. Unity3D学习(视频教程)
  14. IR2110栅极驱动密勒效应解决电路
  15. 如何对客户行为进行数据分析?
  16. 计算机教师的幸福,有关信息技术教师教育感言
  17. 武汉市星创天地申报条件和程序
  18. markdown文档:一个简单标记语言的使用及GitHub实际应用
  19. 如何用matlab绘制心形线,心形线的matlab程序
  20. Could not connect to wpa_supplicant: p2p-dev-wlan0 - re-trying

热门文章

  1. 特斯拉CEO马斯克再卖4套房 挂牌价6250万美元
  2. 来啊,一起造作啊!10月仍然还有十多场新品发布会...
  3. 库克:5G iPhone目前还不是我们考虑的问题
  4. 程序员加班到凌晨,第二天却被开除,了解原因后大家都说大快人心
  5. MiniGUI编程--静态框[转]
  6. 怎么讲d 盘里的软件弄到桌面_GNOME 2 粉丝喜欢 Mate Linux 桌面的什么?
  7. php ajax files 空,javascript - ajax上传文件后台使用$_files接受为空
  8. 如何做一个国产数据库系统(一)
  9. mysql nodejs 并发
  10. go sublime mysql_Sublime text 3开发GO