oracle 使用ibatis动态多条件组合模糊查询

链接地址: http://kevin12.iteye.com/blog/1953571

最近将流程项目数据库由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

猜你喜欢

转载自kevin12.iteye.com/blog/1953571