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>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值