当前位置: 代码迷 >> SQL >> iBatis 3.x 动态SQL元素之兑现
  详细解决方案

iBatis 3.x 动态SQL元素之兑现

热度:76   发布时间:2016-05-05 13:07:41.0
iBatis 3.x 动态SQL元素之实现
iBatis 3.x 动态SQL元素之实现
   在iBatis 2.x中,可以使用$xxxx$语法在SQL中定义可动态插入的SQL元素。而在iBatis 3.x中已经发生了很大变化。

首先,语法变为 ${xxxx} 形式;

其实,你要使用的SQL元素必须是一个Java Bean的属性,也说是输入参数必须为Java Bean;在说明文档中也没有说明如何直接使用一个String类型的输入参数。

于是,我用DEBUG分析了iBatis 3.x的代码,发现还是有办法使用单个String类型的输入参数,但是你的动态SQL元素必须定义为${_parameter}。比如:

<select id="getRecordCount" parameterType="string" resultType="int">

select count(*) as recordNumber from (${_parameter}) t1

</select>

注:上面的${_parameter}不可修改为其它文字
  相关解决方案