ibatis中$和#的区别
比如当变量name的类型是Stirng时,
$name$ 打印出来的是 张三
#name# 打印出来的是 ‘张三’
$ 的作用实际上是字符串拼接
#用于变量替换
那什么时候用$,什么时候 用 #
(1)对于变量部分, 应当使用#, 这样可以有效的防止sql注入,具体执行时,# 都是用到了prepareStement,这样对效率也有一定的提升
#方式一般用于传入插入/更新的值或查询/删除的where条件
(2) $只是简单的字符拼接而已,对于非变量部分, 那只能使用$, 实际上, 在很多场合,$也是有很多实际意义的
$方式一般用于传入数据库对象.例如传入表名.
例如:
select * from $tableName$ 对于不同的表执行统一的查询
update $tableName$ set name = #name# 每个实体一张表,改变不用实体的状态
特别说明, $只是字符串拼接,所以要特别小心sql注入问题。
(3)能同事用#和$的时候最好用#
ibatis中$和#的区别的更多相关文章
- ibatis 中 $与#的区别
ibatis 中 $与#的区别 使用#: select * from table where id = #id# 如果字段为整型:#id#表示成id select * from table where ...
- ibatis中 $ 于 # 的 区别?
转自: http://www.blogjava.net/lsbwahaha/archive/2009/04/16/266026.html 一个项目中在写ibatis中的sql语句时,where use ...
- ibatis和mybatis的区别
区别1:全局配置文件(sqlMapConfig.xml)的差异 主要是元素标签命名的差异,比如mybatis的根元素标签为<configuration>,ibatis的 根元素标签为< ...
- ibatis与mybatis的区别
一.最主要的区别就是mybatis简化了编码的过程,不需要去写dao的实现类,直接写一个dao的借口,再写一个xml配置文件,整个mybatis就配置好了,也就是数据库就连接好了,然后再service ...
- oracle创建主键序列和在ibatis中应用
oracle创建主键序列 oracle主键序列的查询和ibitas中应用
- ibatis .net $与#的区别
$与#的区别 SELECT * FROM TABLE WHERE Id = #id# 其中如果字段id为字符串类型,那么#id#表示的就是'id',也就是说会自动加引号.如果id为整型,那么#id#就 ...
- Ibatis的#和$的区别
来自别人的:https://blog.csdn.net/findmyself_for_world/article/details/49976555 总结:凡是#的,都作为参数,用setobject方式 ...
- IBATIS中‘$’与‘#’使用
IBATIS中关于iterate和‘$’与‘#’的应用 一个包含List元素的HashMap参数赋给sqlMap public int getCountById(String id, String ...
- MyBatis/Ibatis中#和$的区别
1. #将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号.如:order by #user_id#,如果传入的值是111,那么解析成sql时的值为order by "111&qu ...
随机推荐
- VC API常用函数简单例子大全(1-89)
第一个:FindWindow根据窗口类名或窗口标题名来获得窗口的句柄,该函数返回窗口的句柄 函数的定义:HWND WINAPI FindWindow(LPCSTR lpClassName ,LPCST ...
- create session 参数介绍
Create Session alias, url, headers={}, cookies=None, auth=None, timeout=None, proxies=None, verify=F ...
- net.sf.json.JSONOBJECT.fromObject 与 com.alibaba.fastjson.JSONObject.parseObject
文章待补充,先写写以下知识点好了. NULL值处理之 net.sf.json.JSONObject 和 com.alibaba.fastjson.JSONObject区别 JSON作为一个轻量级的文本 ...
- react.js 点击事件传递参数的方法
<button onClick={this.handleClick.bind(this, props0, props1, ...}></button> handleClick( ...
- jmeter插件之自定义场景图(万能场景设计)
添加扩展插件 自定义线程组:jp@gc - Ultimate Thread Group 此线程组功能强大,可以实现多种场景设置,添加路径如图 参数含义解释 Start Threads Count:当前 ...
- vertical-tical
通常我们需要垂直对齐并排的元素. CSS提供了一些可实现的方法:有时我用浮动float来解决,有时用position: absolute来解决,有时甚至是“肮脏”地手动添加的margin或paddin ...
- RabbitMQ和Kafka对比以及场景使用说明
我目前的项目最后使用的是RabbitMQ,这里依然是结合网上大神们的优秀博客,对kafka和rabbitmq进行简单的比对.最后附上参考博客. 1.架构模型 rabbitmq RabbitMQ遵循AM ...
- Java之集合(十九)LinkedBlockingDeque
转载请注明源出处:http://www.cnblogs.com/lighten/p/7494577.html 1.前言 本章介绍LinkedBlockingDeque,这是一个可选容量的有界双向链表队 ...
- log4net udp
官方文档: http://logging.apache.org/log4net/release/config-examples.html 配置: <?xml version="1.0& ...
- Android 开发工具类 04_KeyBoardUtils
打开或关闭软键盘: 1.打卡软键盘: 2.关闭软键盘. import android.content.Context; import android.view.inputmethod.InputMet ...