官方手册:http://ibatisnet.sourceforge.net/DevGuide.html
1.jdbcType
iBatis官方的说法是, 只要是JDBC提供的JdbcType类中所定义的常量字符串,jdbcType这个属性就可以取这个值,虽然有一些类型iBatis尚且不能支持(例如blobs等)。而JdbcType类则由不同的JDBC Driver提供,可能由于Driver(不同类型的数据库有不同的Driver)的不同会存在差异,不过大同小异。一般都支持如下类型(大小写不敏感):
Array, BigInt, Binary, Bit, Blob, Boolean, Char, Clob, Datalink, Date, Decimal, Double, Float, Integer, LongVarBinary, LongVarChar, Numeric, Real, Ref, SmallInt, Struct, Time, Timestamp, TinyInt, VarBinary, VarChar.
<insert id="MS-INSERT-CREDITEXTENDEDINFO" parameterClass="TA-CREDITEXTENDEDINFO">
<![CDATA[
insert into CREDIT_EXTENDED_INFO(MEMBER_ID, CODE, TYPE, STATUS, ROLL_TIME)
values( #memberId#, #code#, #type#, #status#, #rollTime# )
]]>
</insert>
<update id="MS-UPDATE-CREDITEXTENDEDINFO" parameterClass="TA-CREDITEXTENDEDINFO">
<![CDATA[
update CREDIT_EXTENDED_INFO set CODE=#code#, TYPE=#type#, STATUS=#status#, ROLL_TIME=#rollTime# where MEMBER_ID=#memberId#
]]>
</update>
<delete id="MS-DELETE-CREDITEXTENDEDINFO-BY-MEMBERID" parameterClass="string">
<![CDATA[
DELETE FROM CREDIT_EXTENDED_INFO where MEMBER_ID = #memberId#
]]>
</delete>
<dynamic>
<isNotNull prepend="," property="personName">
PERSON_NAME = #personName#
</isNotNull>
</dynamic>
<iterate property="memberList" open="(" close=")" conjunction=",">
<![CDATA[
#memberList[]#
]]>
</iterate>
3.in 查询
<select id="MS-QUERY-MEMBER" resultMap="RM-MEMBER">
select
ID,MEMBER_ID
from MEMBER
<dynamic prepend="where">
<isNotEmpty prepend="and" property="memberIds">
<iterate property="memberIds" open="MEMBER_ID in (" close=")"
conjunction=",">
#memberIds[]#
</iterate>
</isNotEmpty>
</dynamic>
</select>