最近将流程项目数据库由mysql数据库改成oracle数据库时,发现oracle的ibatis配置文件和mysql的ibatis的模糊查询不同,下面记录一下,以备后用。
如果是mysql的模糊查询用:
<isNotEmpty prepend="AND" property="IM_NAME"> a.IM_NAME like concat('%',#IM_NAME#,'%')</isNotEmpty>
如果是oracle的模糊查询用:
<isNotEmpty prepend="AND" property="IM_NAME"> a.IM_NAME like '%'||#IM_NAME#||'%'</isNotEmpty> 或者 <isNotEmpty prepend="AND" property="IM_NAME"> a.IM_NAME like '%$IM_NAME$%'</isNotEmpty>
模糊查询不能用#,#是用prepareStatement的?插入参数,$是文本替换
下面贴出一个ibatis文件供参考:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd"> <sqlMap namespace="IMenu"> <typeAlias alias="iMenu" type="com.sense.workflow.model.IMenu" /> <resultMap id="codeNodeMapping" class="iMenu"> <result property="IM_ID" column="IM_ID" /> <result property="IM_PARENT_ID" column="IM_PARENT_ID" /> <result property="IM_LEVEL" column="IM_LEVEL" /> <result property="IM_PATH" column="IM_PATH" /> <result property="IM_NAME" column="IM_NAME" /> <result property="IM_DESCRIPTION" column="IM_DESCRIPTION" /> <result property="IM_URL" column="IM_URL" /> <result property="IM_STATUS_CODE" column="IM_STATUS_CODE" /> <result property="IM_ORDER" column="IM_ORDER" /> <result property="IM_CREATE_DATETIME" column="IM_CREATE_DATETIME" /> <result property="IM_LAST_UPDATE_DATETIME" column="IM_LAST_UPDATE_DATETIME" /> <result property="IM_LAST_UPDATE_OPERATOR_ID" column="IM_LAST_UPDATE_OPERATOR_ID" /> <result property="IM_VERSION" column="IM_VERSION" /> <result property="IM_VERSION_DATE" column="IM_VERSION_DATE" /> <result property="IM_DATA_STATUS" column="IM_DATA_STATUS" /> <result property="IM_IS_ACTIVITY" column="IM_IS_ACTIVITY" /> </resultMap> <insert id="IMenu_insert" parameterClass="iMenu"> insert into TB_I_MENU(IM_ID,IM_PARENT_ID,IM_LEVEL,IM_PATH,IM_NAME,IM_DESCRIPTION,IM_URL,IM_STATUS_CODE,IM_ORDER,IM_CREATE_DATETIME,IM_LAST_UPDATE_DATETIME,IM_LAST_UPDATE_OPERATOR_ID,IM_VERSION,IM_VERSION_DATE,IM_DATA_STATUS,IM_IS_ACTIVITY) values(#IM_ID#,#IM_PARENT_ID#,#IM_LEVEL#,#IM_PATH#,#IM_NAME#,#IM_DESCRIPTION#,#IM_URL#,#IM_STATUS_CODE#,#IM_ORDER#,#IM_CREATE_DATETIME#,#IM_LAST_UPDATE_DATETIME#,#IM_LAST_UPDATE_OPERATOR_ID#,#IM_VERSION#,#IM_VERSION_DATE#,#IM_DATA_STATUS#,#IM_IS_ACTIVITY#) </insert> <update id="IMenu_update" parameterClass="iMenu"> update TB_I_MENU <dynamic prepend="set"> <isNotNull prepend=" " property="IM_PARENT_ID"> IM_PARENT_ID = #IM_PARENT_ID# </isNotNull> <isNotNull prepend="," property="IM_LEVEL"> IM_LEVEL = #IM_LEVEL# </isNotNull> <isNotNull prepend="," property="IM_PATH"> IM_PATH = #IM_PATH# </isNotNull> <isNotNull prepend="," property="IM_NAME"> IM_NAME = #IM_NAME# </isNotNull> <isNotNull prepend="," property="IM_DESCRIPTION"> IM_DESCRIPTION = #IM_DESCRIPTION# </isNotNull> <isNotNull prepend="," property="IM_URL"> IM_URL = #IM_URL# </isNotNull> <isNotNull prepend="," property="IM_STATUS_CODE"> IM_STATUS_CODE = #IM_STATUS_CODE# </isNotNull> <isNotNull prepend="," property="IM_ORDER"> IM_ORDER = #IM_ORDER# </isNotNull> <isNotNull prepend="," property="IM_CREATE_DATETIME"> IM_CREATE_DATETIME = #IM_CREATE_DATETIME# </isNotNull> <isNotNull prepend="," property="IM_LAST_UPDATE_DATETIME"> IM_LAST_UPDATE_DATETIME = #IM_LAST_UPDATE_DATETIME# </isNotNull> <isNotNull prepend="," property="IM_LAST_UPDATE_OPERATOR_ID"> IM_LAST_UPDATE_OPERATOR_ID = #IM_LAST_UPDATE_OPERATOR_ID# </isNotNull> <isNotNull prepend="," property="IM_VERSION"> IM_VERSION = #IM_VERSION# </isNotNull> <isNotNull prepend="," property="IM_VERSION_DATE"> IM_VERSION_DATE = #IM_VERSION_DATE# </isNotNull> <isNotNull prepend="," property="IM_DATA_STATUS"> IM_DATA_STATUS = #IM_DATA_STATUS# </isNotNull> <isNotNull prepend="," property="IM_IS_ACTIVITY"> IM_IS_ACTIVITY = #IM_IS_ACTIVITY# </isNotNull> </dynamic> where IM_ID=#IM_ID# </update> <update id="IMenu_delete" parameterClass="java.util.ArrayList"></update> <select id="IMenu_getObjectById" parameterClass="java.lang.String" resultMap="codeNodeMapping"> select IM_ID,IM_PARENT_ID,IM_LEVEL,IM_PATH,IM_NAME,IM_DESCRIPTION,IM_URL,IM_STATUS_CODE,IM_ORDER,IM_CREATE_DATETIME,IM_LAST_UPDATE_DATETIME,IM_LAST_UPDATE_OPERATOR_ID,IM_VERSION,IM_VERSION_DATE,IM_DATA_STATUS,IM_IS_ACTIVITY from TB_I_MENU a where IM_ID=#value# </select> <select id="IMenu_getList" parameterClass="iMenu" resultMap="codeNodeMapping"> select IM_ID,IM_PARENT_ID,IM_LEVEL,IM_PATH,IM_NAME,IM_DESCRIPTION,IM_URL,IM_STATUS_CODE,IM_ORDER,IM_CREATE_DATETIME,IM_LAST_UPDATE_DATETIME,IM_LAST_UPDATE_OPERATOR_ID,IM_VERSION,IM_VERSION_DATE,IM_DATA_STATUS,IM_IS_ACTIVITY from TB_I_MENU a <dynamic prepend="WHERE "> <isNotEmpty prepend="AND" property="IM_ID"> a.IM_ID = #IM_ID#</isNotEmpty> <isNotEmpty prepend="AND" property="IM_PARENT_ID"> a.IM_PARENT_ID = #IM_PARENT_ID#</isNotEmpty> <isNotEmpty prepend="AND" property="IM_LEVEL"> a.IM_LEVEL = #IM_LEVEL#</isNotEmpty> <isNotEmpty prepend="AND" property="IM_PATH"> a.IM_PATH like '%'||#IM_PATH#||'%'</isNotEmpty> <isNotEmpty prepend="AND" property="IM_NAME"> a.IM_NAME like '%'||#IM_NAME#||'%'</isNotEmpty> <isNotEmpty prepend="AND" property="IM_DESCRIPTION"> a.IM_DESCRIPTION like '%'||#IM_DESCRIPTION#||'%'</isNotEmpty> <isNotEmpty prepend="AND" property="IM_URL"> a.IM_URL like '%'||#IM_URL#||'%'</isNotEmpty> <isNotEmpty prepend="AND" property="IM_STATUS_CODE"> a.IM_STATUS_CODE = #IM_STATUS_CODE#</isNotEmpty> <isNotEmpty prepend="AND" property="IM_ORDER"> a.IM_ORDER = #IM_ORDER#</isNotEmpty> <isNotEmpty prepend="AND" property="IM_CREATE_DATETIME"> a.IM_CREATE_DATETIME = #IM_CREATE_DATETIME#</isNotEmpty> <isNotEmpty prepend="AND" property="IM_LAST_UPDATE_DATETIME"> a.IM_LAST_UPDATE_DATETIME = #IM_LAST_UPDATE_DATETIME#</isNotEmpty> <isNotEmpty prepend="AND" property="IM_LAST_UPDATE_OPERATOR_ID"> a.IM_LAST_UPDATE_OPERATOR_ID = #IM_LAST_UPDATE_OPERATOR_ID#</isNotEmpty> <isNotEmpty prepend="AND" property="IM_VERSION"> a.IM_VERSION = #IM_VERSION#</isNotEmpty> <isNotEmpty prepend="AND" property="IM_VERSION_DATE"> a.IM_VERSION_DATE = #IM_VERSION_DATE#</isNotEmpty> <isNotEmpty prepend="AND" property="IM_DATA_STATUS"> a.IM_DATA_STATUS = #IM_DATA_STATUS#</isNotEmpty> <isNotEmpty prepend="AND" property="IM_IS_ACTIVITY"> a.IM_IS_ACTIVITY = #IM_IS_ACTIVITY#</isNotEmpty> </dynamic> order by IM_CREATE_DATETIME desc </select> <select id="IMenu_getListForPage" parameterClass="java.util.HashMap" resultMap="codeNodeMapping"> select IM_ID,IM_PARENT_ID,IM_LEVEL,IM_PATH,IM_NAME,IM_DESCRIPTION,IM_URL,IM_STATUS_CODE,IM_ORDER,IM_CREATE_DATETIME,IM_LAST_UPDATE_DATETIME,IM_LAST_UPDATE_OPERATOR_ID,IM_VERSION,IM_VERSION_DATE,IM_DATA_STATUS,IM_IS_ACTIVITY from TB_I_MENU a <dynamic prepend="WHERE "> <isNotEmpty prepend="AND" property="IM_ID"> a.IM_ID = #IM_ID#</isNotEmpty> <isNotEmpty prepend="AND" property="IM_PARENT_ID"> a.IM_PARENT_ID = #IM_PARENT_ID#</isNotEmpty> <isNotEmpty prepend="AND" property="IM_LEVEL"> a.IM_LEVEL = #IM_LEVEL#</isNotEmpty> <isNotEmpty prepend="AND" property="IM_PATH"> a.IM_PATH like '%'||#IM_PATH#||'%'</isNotEmpty> <isNotEmpty prepend="AND" property="IM_NAME"> a.IM_NAME like '%'||#IM_NAME#||'%'</isNotEmpty> <isNotEmpty prepend="AND" property="IM_DESCRIPTION"> a.IM_DESCRIPTION like '%'||#IM_DESCRIPTION#||'%'</isNotEmpty> <isNotEmpty prepend="AND" property="IM_URL"> a.IM_URL like '%'||#IM_URL#||'%'</isNotEmpty> <isNotEmpty prepend="AND" property="IM_STATUS_CODE"> a.IM_STATUS_CODE = #IM_STATUS_CODE#</isNotEmpty> <isNotEmpty prepend="AND" property="IM_ORDER"> a.IM_ORDER = #IM_ORDER#</isNotEmpty> <isNotEmpty prepend="AND" property="IM_CREATE_DATETIME"> a.IM_CREATE_DATETIME = #IM_CREATE_DATETIME#</isNotEmpty> <isNotEmpty prepend="AND" property="IM_LAST_UPDATE_DATETIME"> a.IM_LAST_UPDATE_DATETIME = #IM_LAST_UPDATE_DATETIME#</isNotEmpty> <isNotEmpty prepend="AND" property="IM_LAST_UPDATE_OPERATOR_ID"> a.IM_LAST_UPDATE_OPERATOR_ID = #IM_LAST_UPDATE_OPERATOR_ID#</isNotEmpty> <isNotEmpty prepend="AND" property="IM_VERSION"> a.IM_VERSION = #IM_VERSION#</isNotEmpty> <isNotEmpty prepend="AND" property="IM_VERSION_DATE"> a.IM_VERSION_DATE = #IM_VERSION_DATE#</isNotEmpty> <isNotEmpty prepend="AND" property="IM_DATA_STATUS"> a.IM_DATA_STATUS = #IM_DATA_STATUS#</isNotEmpty> <isNotEmpty prepend="AND" property="IM_IS_ACTIVITY"> a.IM_IS_ACTIVITY = #IM_IS_ACTIVITY#</isNotEmpty> </dynamic> <dynamic prepend="ORDER BY"> <isNotEmpty property="orderSql"> $orderSql$ </isNotEmpty> </dynamic> <dynamic prepend=" LIMIT "> <isNotEmpty property="startRow"> #startRow# </isNotEmpty> <isNotEmpty property="endRow"> ,#endRow# </isNotEmpty> </dynamic> </select> <select id="IMenu_getCount" parameterClass="java.util.HashMap" resultClass="java.lang.Long"> select count(1) as value from TB_I_MENU a <dynamic prepend="WHERE "> <isNotEmpty prepend="AND" property="IM_ID"> a.IM_ID = #IM_ID#</isNotEmpty> <isNotEmpty prepend="AND" property="IM_PARENT_ID"> a.IM_PARENT_ID = #IM_PARENT_ID#</isNotEmpty> <isNotEmpty prepend="AND" property="IM_LEVEL"> a.IM_LEVEL = #IM_LEVEL#</isNotEmpty> <isNotEmpty prepend="AND" property="IM_PATH"> a.IM_PATH like '%'||#IM_PATH#||'%'</isNotEmpty> <isNotEmpty prepend="AND" property="IM_NAME"> a.IM_NAME like '%'||#IM_NAME#||'%'</isNotEmpty> <isNotEmpty prepend="AND" property="IM_DESCRIPTION"> a.IM_DESCRIPTION like '%'||#IM_DESCRIPTION#||'%'</isNotEmpty> <isNotEmpty prepend="AND" property="IM_URL"> a.IM_URL like '%'||#IM_URL#||'%'</isNotEmpty> <isNotEmpty prepend="AND" property="IM_STATUS_CODE"> a.IM_STATUS_CODE = #IM_STATUS_CODE#</isNotEmpty> <isNotEmpty prepend="AND" property="IM_ORDER"> a.IM_ORDER = #IM_ORDER#</isNotEmpty> <isNotEmpty prepend="AND" property="IM_CREATE_DATETIME"> a.IM_CREATE_DATETIME = #IM_CREATE_DATETIME#</isNotEmpty> <isNotEmpty prepend="AND" property="IM_LAST_UPDATE_DATETIME"> a.IM_LAST_UPDATE_DATETIME = #IM_LAST_UPDATE_DATETIME#</isNotEmpty> <isNotEmpty prepend="AND" property="IM_LAST_UPDATE_OPERATOR_ID"> a.IM_LAST_UPDATE_OPERATOR_ID = #IM_LAST_UPDATE_OPERATOR_ID#</isNotEmpty> <isNotEmpty prepend="AND" property="IM_VERSION"> a.IM_VERSION = #IM_VERSION#</isNotEmpty> <isNotEmpty prepend="AND" property="IM_VERSION_DATE"> a.IM_VERSION_DATE = #IM_VERSION_DATE#</isNotEmpty> <isNotEmpty prepend="AND" property="IM_DATA_STATUS"> a.IM_DATA_STATUS = #IM_DATA_STATUS#</isNotEmpty> <isNotEmpty prepend="AND" property="IM_IS_ACTIVITY"> a.IM_IS_ACTIVITY = #IM_IS_ACTIVITY#</isNotEmpty> </dynamic> </select> <select id="IMenu_getListForPage_Time_Order" parameterClass="java.util.HashMap" resultMap="codeNodeMapping"> select IM_ID,IM_PARENT_ID,IM_LEVEL,IM_PATH,IM_NAME,IM_DESCRIPTION,IM_URL,IM_STATUS_CODE,IM_ORDER,IM_CREATE_DATETIME,IM_LAST_UPDATE_DATETIME,IM_LAST_UPDATE_OPERATOR_ID,IM_VERSION,IM_VERSION_DATE,IM_DATA_STATUS,IM_IS_ACTIVITY from TB_I_MENU a <dynamic prepend="WHERE "> <isNotEmpty prepend="AND" property="IM_ID"> a.IM_ID = #IM_ID#</isNotEmpty> <isNotEmpty prepend="AND" property="IM_PARENT_ID"> a.IM_PARENT_ID = #IM_PARENT_ID#</isNotEmpty> <isNotEmpty prepend="AND" property="IM_LEVEL"> a.IM_LEVEL = #IM_LEVEL#</isNotEmpty> <isNotEmpty prepend="AND" property="IM_PATH"> a.IM_PATH like '%'||#IM_PATH#||'%'</isNotEmpty> <isNotEmpty prepend="AND" property="IM_NAME"> a.IM_NAME like '%'||#IM_NAME#||'%'</isNotEmpty> <isNotEmpty prepend="AND" property="IM_DESCRIPTION"> a.IM_DESCRIPTION like '%'||#IM_DESCRIPTION#||'%'</isNotEmpty> <isNotEmpty prepend="AND" property="IM_URL"> a.IM_URL like '%'||#IM_URL#||'%'</isNotEmpty> <isNotEmpty prepend="AND" property="IM_STATUS_CODE"> a.IM_STATUS_CODE = #IM_STATUS_CODE#</isNotEmpty> <isNotEmpty prepend="AND" property="IM_ORDER"> a.IM_ORDER = #IM_ORDER#</isNotEmpty> <isNotEmpty prepend="AND" property="IM_CREATE_DATETIME"> a.IM_CREATE_DATETIME = #IM_CREATE_DATETIME#</isNotEmpty> <isNotEmpty prepend="AND" property="IM_LAST_UPDATE_DATETIME"> a.IM_LAST_UPDATE_DATETIME = #IM_LAST_UPDATE_DATETIME#</isNotEmpty> <isNotEmpty prepend="AND" property="IM_LAST_UPDATE_OPERATOR_ID"> a.IM_LAST_UPDATE_OPERATOR_ID = #IM_LAST_UPDATE_OPERATOR_ID#</isNotEmpty> <isNotEmpty prepend="AND" property="IM_VERSION"> a.IM_VERSION = #IM_VERSION#</isNotEmpty> <isNotEmpty prepend="AND" property="IM_VERSION_DATE"> a.IM_VERSION_DATE = #IM_VERSION_DATE#</isNotEmpty> <isNotEmpty prepend="AND" property="IM_DATA_STATUS"> a.IM_DATA_STATUS = #IM_DATA_STATUS#</isNotEmpty> <isNotEmpty prepend="AND" property="IM_IS_ACTIVITY"> a.IM_IS_ACTIVITY = #IM_IS_ACTIVITY#</isNotEmpty> </dynamic> <isNotEmpty prepend="AND" property="filterStartTime"> <![CDATA[a.CREATE_DATETIME >= #filterStartTime#]]> </isNotEmpty> <isNotEmpty prepend="AND" property="filterEndTime"> <![CDATA[ a.CREATE_DATETIME <= #filterEndTime# ]]> </isNotEmpty> <dynamic prepend="ORDER BY"> <isNotEmpty property="orderSql"> $orderSql$ </isNotEmpty> </dynamic> <dynamic prepend=" LIMIT "> <isNotEmpty property="startRow"> #startRow# </isNotEmpty> <isNotEmpty property="endRow"> ,#endRow# </isNotEmpty> </dynamic> </select> <select id="IMenu_getCount_Time_Order" parameterClass="java.util.HashMap" resultClass="java.lang.Long"> select count(1) as value from TB_I_MENU a <dynamic prepend="WHERE "> <isNotEmpty prepend="AND" property="IM_ID"> a.IM_ID = #IM_ID#</isNotEmpty> <isNotEmpty prepend="AND" property="IM_PARENT_ID"> a.IM_PARENT_ID = #IM_PARENT_ID#</isNotEmpty> <isNotEmpty prepend="AND" property="IM_LEVEL"> a.IM_LEVEL = #IM_LEVEL#</isNotEmpty> <isNotEmpty prepend="AND" property="IM_PATH"> a.IM_PATH like '%'||#IM_PATH#||'%'</isNotEmpty> <isNotEmpty prepend="AND" property="IM_NAME"> a.IM_NAME like '%'||#IM_NAME#||'%'</isNotEmpty> <isNotEmpty prepend="AND" property="IM_DESCRIPTION"> a.IM_DESCRIPTION like '%'||#IM_DESCRIPTION#||'%'</isNotEmpty> <isNotEmpty prepend="AND" property="IM_URL"> a.IM_URL like '%'||#IM_URL#||'%'</isNotEmpty> <isNotEmpty prepend="AND" property="IM_STATUS_CODE"> a.IM_STATUS_CODE = #IM_STATUS_CODE#</isNotEmpty> <isNotEmpty prepend="AND" property="IM_ORDER"> a.IM_ORDER = #IM_ORDER#</isNotEmpty> <isNotEmpty prepend="AND" property="IM_CREATE_DATETIME"> a.IM_CREATE_DATETIME = #IM_CREATE_DATETIME#</isNotEmpty> <isNotEmpty prepend="AND" property="IM_LAST_UPDATE_DATETIME"> a.IM_LAST_UPDATE_DATETIME = #IM_LAST_UPDATE_DATETIME#</isNotEmpty> <isNotEmpty prepend="AND" property="IM_LAST_UPDATE_OPERATOR_ID"> a.IM_LAST_UPDATE_OPERATOR_ID = #IM_LAST_UPDATE_OPERATOR_ID#</isNotEmpty> <isNotEmpty prepend="AND" property="IM_VERSION"> a.IM_VERSION = #IM_VERSION#</isNotEmpty> <isNotEmpty prepend="AND" property="IM_VERSION_DATE"> a.IM_VERSION_DATE = #IM_VERSION_DATE#</isNotEmpty> <isNotEmpty prepend="AND" property="IM_DATA_STATUS"> a.IM_DATA_STATUS = #IM_DATA_STATUS#</isNotEmpty> <isNotEmpty prepend="AND" property="IM_IS_ACTIVITY"> a.IM_IS_ACTIVITY = #IM_IS_ACTIVITY#</isNotEmpty> </dynamic> <isNotEmpty prepend="AND" property="filterStartTime"> <![CDATA[a.CREATE_DATETIME >= #filterStartTime#]]> </isNotEmpty> <isNotEmpty prepend="AND" property="filterEndTime"> <![CDATA[ a.CREATE_DATETIME <= #filterEndTime# ]]> </isNotEmpty> </select> <select id="IMenu_getLastVersion" parameterClass="iMenu" resultClass="java.lang.Integer"> select max(IM_VERSION) as value from TB_I_MENU a <dynamic prepend="WHERE "> <isNotEmpty prepend="AND" property="IM_ID"> a.IM_ID = #IM_ID#</isNotEmpty> <isNotEmpty prepend="AND" property="IM_PARENT_ID"> a.IM_PARENT_ID = #IM_PARENT_ID#</isNotEmpty> <isNotEmpty prepend="AND" property="IM_LEVEL"> a.IM_LEVEL = #IM_LEVEL#</isNotEmpty> <isNotEmpty prepend="AND" property="IM_PATH"> a.IM_PATH like '%'||#IM_PATH#||'%'</isNotEmpty> <isNotEmpty prepend="AND" property="IM_NAME"> a.IM_NAME like '%'||#IM_NAME#||'%'</isNotEmpty> <isNotEmpty prepend="AND" property="IM_DESCRIPTION"> a.IM_DESCRIPTION like '%'||#IM_DESCRIPTION#||'%'</isNotEmpty> <isNotEmpty prepend="AND" property="IM_URL"> a.IM_URL like '%'||#IM_URL#||'%'</isNotEmpty> <isNotEmpty prepend="AND" property="IM_STATUS_CODE"> a.IM_STATUS_CODE = #IM_STATUS_CODE#</isNotEmpty> <isNotEmpty prepend="AND" property="IM_ORDER"> a.IM_ORDER = #IM_ORDER#</isNotEmpty> <isNotEmpty prepend="AND" property="IM_CREATE_DATETIME"> a.IM_CREATE_DATETIME = #IM_CREATE_DATETIME#</isNotEmpty> <isNotEmpty prepend="AND" property="IM_LAST_UPDATE_DATETIME"> a.IM_LAST_UPDATE_DATETIME = #IM_LAST_UPDATE_DATETIME#</isNotEmpty> <isNotEmpty prepend="AND" property="IM_LAST_UPDATE_OPERATOR_ID"> a.IM_LAST_UPDATE_OPERATOR_ID = #IM_LAST_UPDATE_OPERATOR_ID#</isNotEmpty> <isNotEmpty prepend="AND" property="IM_VERSION"> a.IM_VERSION = #IM_VERSION#</isNotEmpty> <isNotEmpty prepend="AND" property="IM_VERSION_DATE"> a.IM_VERSION_DATE = #IM_VERSION_DATE#</isNotEmpty> <isNotEmpty prepend="AND" property="IM_DATA_STATUS"> a.IM_DATA_STATUS = #IM_DATA_STATUS#</isNotEmpty> <isNotEmpty prepend="AND" property="IM_IS_ACTIVITY"> a.IM_IS_ACTIVITY = #IM_IS_ACTIVITY#</isNotEmpty> </dynamic> </select> </sqlMap>
链接地址: http://kevin12.iteye.com/blog/1953571
学习地址: http://www.codesky.net/article/201007/167572.html