用$$ 有点宏替换的意思。
如下列映射:
<select
id="users" resultMap="user">select * from a
$name$</select>,则在传入参数可以queryForList("users", "where
name='张三'");
用##则是预编译处理,传入的是什么类型就是什么类型。(就是我们经常用的'?'占位符)
如下列映射:
<select
id="users" resultMap="user">select * from a where
a.name=#name#</select>,你在传入参数时可以queryForList("users",
"张三");则生成的sql语句是select * from a where a.name='张三'。
以下情况就必须使用$$:
<typeAlias alias="rightsObj" type="com.*.model.Rights" />
<select id="selectUserRights" parameterClass="rightsObj" resultMap="rightsMap" cacheModel="rightsCache">
select r.* from RIGHTS r, USER_RIGHTS ur where ur.RIGHTS_ID=r.ID and ur.USER_ID=$userId$
</select>
当userId不是rightsObj的属性,而是rightsObj派生类的属性时,如果还想像以下方式调用的话,就必须使用$$。
this.getSqlMapClientTemplate().queryForList("rights.selectUserRights", rightsVO);
需要注意的是$$不安全,容易被SQL注入攻击。
分享到:
相关推荐
iBATIS SQLMap
学会ibatis 中sqlMap配置
ibatis-sqlmap-2.3.0中sqlmap支持通配符
SqlMap的配置是iBatis中应用的核心。这部分任务占据了iBatis开发的70的工作量。Sql Map配置文件是iBatis配置的核心,从数据库连接到执行SQL时使用的sqlMap文件都是通过此文件中的配置提供给框架的,它通常命名为...
ibatis-sqlmap ibatis-sqlmap-2 ibatis-sqlmap-2.jar.zip
ibatis sqlMap dtd ibatis sqlMap dtdibatis sqlMap dtdibatis sqlMap dtdibatis sqlMap dtd
ibatis-sqlmap-2.jar 对数据库进行操作的jar包 很方便使用
iBatis_SqlMap的配置总结,非常有用。
ibatis-sqlmap_2.3.4.jar 和 ibatis-sqlmap_2.jar 两个jar包的下载
根据表生成ibatis的sqlMap文件,字段很多的时候可以用,算是一个工具类,生成了select和insert的语句,用的jdbc
ibatis_SqlMap的配置,SqlMap的配置是iBatis中应用的核心。这部分任务占据了iBatis开发的70%的工作量。
工具的使用,我写了一个说明。 功能: 能节省写SqlMap的时间,和创建实体的时间。 而且快捷准确,不必担心sql语句会写错,或者字段对应不上
ibatis中SQL语句映射指导!
ibatis-common-2.jar ibatis-sqlmap-2.jar ibatis-dao-2.jar
eclipse工程,工程中所用到library在lib文件夹下,建表的语句在工程文件下person.sql
ibatis相关的common,dao,sqlmap包
Source of ibatis-sqlmap version 2.3.4.726
NULL 博文链接:https://wutao33543.iteye.com/blog/562551
缓存机制,事务处理,动态sql,SqlMap