iBATIS.NET 學習筆記(十)

來源:互聯網
上載者:User
Data Map (.NET):
Example:<?xml version="1.0" encoding="UTF-8" ?>
  <sqlMap namespace="Product" 
xmlns="http://ibatis.apache.org/mapping" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >

  <alias>
    <typeAlias alias="Product" type="Example.Domain.Product, Example.Domain" />
  </alias>

  <!-- keeps the result of the last one thousand of these queries in active memory for up to 24 hours-->
  <cacheModels>
    <cacheModel id="productCache" type="LRU">
      <flushInterval hours="24"/>
      <property name="CacheSize" value="1000" />
    </cacheModel>
  </cacheModels>

   <!--maps the columns to our object properties-->
   <resultMaps>
    <resultMap id="productResult" class="Product">
      <result property="Id" column="Product_Id"/>
      <result property="Description" column="Product_Description"/>
    </resultMap>
   </resultMaps>

  <statements>
    <select id="GetProduct" parameterMap="productParam" cacheModel="productCache">
      select * from Products where Product_Id = ?
    </select>
  </statements>

  <!--maps the SQL "?" to the product Id property-->
  <parameterMaps>
    <parameterMap id="productParam" class="Product">
      <parameter property="Id"/>
    </parameterMap>
  <parameterMaps>

</sqlMap>

Mapped Statements
Mapped Statements can hold any SQL statement and can use Parameter Maps and Result Maps for input and output. (A stored procedure is a specialized form of a statement.)Statement element syntax
<statement id="statement.name"
  [parameterMap="parameterMap.name"]
  [parameterClass="alias"]
  [resultMap="resultMap.name"]
  [resultClass="class.name|alias"]
  [listClass="class.name|alias"]
  [cacheModel="cache.name"]
>
  select * from Products where Product_Id = [?|#propertyName#]
  order by [$simpleDynamic$]
</statement>

[]中的參數是可選項。
下面是6種Statement-type 元素

Statement Element Attributes Child Elements Methods
<statement>
id            parameterClass            resultClass            listClass            parameterMap            resultMap            cacheModel
All dynamic elements
Insert            Update            Delete            All query methods
<insert>
id            parameterClass            parameterMap
All dynamic elements            <selectKey>            <generate>
Insert            Update            Delete 
<update>
id            parameterClass            parameterMap            extends
All dynamic elements            <generate>
Insert            Update            Delete
<delete>
id            parameterClass            parameterMap            extends
All dynamic elements            <generate>
Insert            Update            Delete
<select>
id            parameterClass            resultClass            listClass            parameterMap            resultMap            cacheModel            extends
All dynamic elements            <generate>
All query methods
<procedure>
id            parameterMap            resultClass            resultMap            cacheModel
All dynamic elements 
Insert            Update            Delete            All query methods

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.