ibatis相關例子及注意事項

 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>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章