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}不可修改为其它文字

你可能感兴趣的:(java,sql,bean,ibatis,String)