$ 的作用实际上是字符串拼接,
select * from $tableName$
等效于
StringBuffer sb = new StringBuffer(256);
sb.append("select * from ").append(tableName);
sb.toString();
#用于变量替换
select * from table where id = #id#
等效于
prepareStement = stmt.createPrepareStement("select * from table where id = ?")
prepareStement.setString(1,'abc');
------------------------------------------------
说道这里, 总结一下, 什么时候用$,什么时候 用 #
对于变量部分, 应当使用#, 这样可以有效的防止sql注入, 未来,# 都是用到了prepareStement,这样对效率也有一定的提升
$只是简单的字符拼接而已,对于非变量部分, 那只能使用$, 实际上, 在很多场合,$也是有很多实际意义的
例如
select * from $tableName$ 对于不同的表执行统一的查询
update $tableName$ set status = #status# 每个实体一张表,改变不用实体的状态
特别提醒一下, $只是字符串拼接, 所以要特别小心sql注入问题。
------------------------------------------------
1、用$$ 有点宏替换的意思,就是简单的字符串替换,用相应的值替换$$里的内容,如下列映射:
<select id="users" resultMap="user">select * from a $name$</select>,则在传入参数可以queryForList("users", "where name='张三'");
2、用##则是预编译处理,传入的是什么类型就是什么类型,如下列映射:
<select id="users" resultMap="user">select * from a where a.name=#name#</select>,
你在传入参数时可以queryForList("users", "张三");则生成的sql语句是select * from a where a.name='张三'。
分享到:
相关推荐
mybatis和ibatis代码生成工具
NULL 博文链接:https://wg84cn.iteye.com/blog/1057267
ibatis 和 mybatis 的代码生成工具
通过java程序查看ibatis配置文件中的sql语句(注:无法查看变量值)
[iBATIS]sql转换工具 简单哦~ 项目组自己写的哦~分享给大家了
NULL 博文链接:https://panshaobinsb.iteye.com/blog/1717648
转ibatis动态sql - phoebus0501 - 博客园.mht
Ibatis调用Oracle存储过程,返回自定义的类型。
可以帮你将 ibatis 2.x sqlmap 文件转换为 myBatis 3.x mapper 文件,该工具是使用了 Ant 构建任务进行 XSTL 转换和一些语法文字替换 该工具下载下来使用非常简单,把你要转换的所有 sqlmap 文件放到 source 文件夹...
开发指南 iBATIS SQL Maps Page 3 of 62 Map类型的Result 复杂类型属性(即自定义类型的属性) 避免N+1 Select(1:1) 延迟加载 VS 联合查询(1:1) 复杂类型集合的属性 避免N+1 Select(1:M和M:N) 组合键值或多...
用Ibatis时,配置sql语句时候 如果直接从sql里面把语句拷出来,玩玩格式不严谨,我写了这个工具来帮助我们格式化sql语句
将NPetShop的例子下载好之后,由于原来是基于VS2003的版本,在本地用VS2005打开后编译、运行时有一些问题,主要问题和解决方法如下: 1、转换成VS2005的版本 a、直接打开NPetshop.sln文件,按提示一直点击"下一步...
一键转换,不用自己再手动替换标签
ibatis2mybatis转换器将 sqlMap xmls 从 iBatis 2 迁移到 Mybatis 3 【迁移指南】( )
主要介绍了ibatis迁移到mybatis3的注意事项的相关资料,需要的朋友可以参考下
SQL Maps (com.ibatis.sqlmap.*)......................................................................................................5 SQL Map的概念........................................................
sql语句中用问号代替参数
反射工具org.apache.ibatis.reflection org.apache.ibatis.reflection.factory org.apache.ibatis.reflection.invoker org.apache.ibatis.reflection.property org.apache.ibatis.reflection.wrapper可以参考...
Ibatis 为Apache旗下的产品,随着开发团队转投Google Code旗下,ibatis3.x正式更名为Mybatis . 2. 是什么 MyBatis是一款一流的支持自定义SQL、存储过程和高级映射的持久化框架 . 官网:http://www.mybatis.org/ 3. 优...
1、mybatis(ibatis3.0)所需要的jar包 2、mybatis官方用户指导手册,中英文版。 3、优点缺点对比,自己总结,希望有参考价值。 4、mybatis使用log4j.xml和log4j.properties两种日志输出方式的配置 5、部分sql文件参考...