1. <sql id="CUSTOMER_CONDITION">
<isNotEmpty property="customerBehaviorHistory" prepend="and">
<![CDATA[ GMT_STAT>sysdate-7 ]]>
</isNotEmpty>
<isNotEmpty property="rowNum" prepend="and">
<![CDATA[ rownum <= #rowNum# ]]>
</isNotEmpty>
ORDER BY GMT_STAT DESC
</sql>
<!-- 根据customerId获取客户行为 -->
<select id="SELECT_CUSTOMER_BEHAVIOR_LIST" resultMap="RM-GlobalCustomerBehaviorEntity"
parameterClass="map">
<include refid="COMMON_SELECT" />
<![CDATA[ WHERE CUSTOMER_ID = #customerId# AND IS_DELETED ='n' ]]>
<include refid="CUSTOMER_CONDITION"/>
</select>
在引用之前必须存在该id,顺序不能反
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap
PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-2.dtd">
<sqlMap namespace="Academy">
<typeAlias alias="Academy" type="com.jxt.entity.Academy" />
<resultMap class="Academy" id="AcademyResult">
<result property="academyId" />
<result property="academyName" />
<result property="departments" column="academyId" select="Department.findByAcademyId"/>
</resultMap>
<sql id="condition">
<dynamic prepend="WHERE">
<isNotEmpty property="entity.academyName" prepend="AND">
(academyName like '%$entity.academyName$%')
</isNotEmpty>
</dynamic>
</sql>
<cacheModel type="LRU" id="AcademyCache">
<flushInterval hours="1" />
<property name="size" value="100" />
<flushOnExecute statement="Academy.delete" />
<flushOnExecute statement="Academy.insert" />
<flushOnExecute statement="Academy.update"/>
</cacheModel>
<!-- 集合查询 -->
<select id="findAll" cacheModel="AcademyCache"
resultMap="AcademyResult">
<![CDATA[
SELECT * FROM academy;
]]>
</select>
<!-- 索引查询 -->
<select id="get" cacheModel="AcademyCache" parameterClass="int"
resultMap="AcademyResult">
<![CDATA[
SELECT * FROM academy where academyId=#value#
]]>
</select>
<!-- 添加 -->
<insert id="insert" parameterClass="Academy">
<![CDATA[
insert academy values(null,#academyName#);
]]>
<selectKey resultClass="int">
SELECT LAST_INSERT_ID();
</selectKey>
</insert>
<!-- 修改 -->
<update id="update" parameterClass="Academy" >
<![CDATA[
update academy set academyName=#academyName# where academyId=#academyId#
]]>
</update>
<!-- 删除 -->
<delete id="delete" parameterClass="int">
<![CDATA[
delete from academy where academyId=#value#
]]>
</delete>
<!-- 获取总记录数 -->
<select id="count" cacheModel="AcademyCache" parameterClass="map"
resultClass="int">
<![CDATA[
SELECT COUNT(*) FROM Academy
]]>
<include refid="condition" />
</select>
<!-- 获取区间段段数据 -->
<select id="limit" cacheModel="AcademyCache" parameterClass="map"
resultMap="AcademyResult">
<![CDATA[
SELECT * FROM Academy
]]>
<include refid="condition" />
<![CDATA[
limit #page.start#,#page.pageSize#
]]>
</select>
</sqlMap>