<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    JAVA—咖啡館

    ——歡迎訪問rogerfan的博客,常來《JAVA——咖啡館》坐坐,喝杯濃香的咖啡,彼此探討一下JAVA技術,交流工作經驗,分享JAVA帶來的快樂!本網站部分轉載文章,如果有版權問題請與我聯系。

    BlogJava 首頁 新隨筆 聯系 聚合 管理
      447 Posts :: 145 Stories :: 368 Comments :: 0 Trackbacks


    1.ibatis中使用緩存
    首先設置SqlMapConfig.xml中<settings/>節點的屬性cacheModelsEnabled="true"
     
      然后在具體sqlmap文件中書寫<cacheModel>

    Xml代碼 

    1<cacheModel id="product-cache" type="LRU">     
    2  <flushInterval hours="24"/>     
    3  <flushOnExecute statement="insertProduct"/>   
    4  <flushOnExecute statement="updateProduct"/>     
    5  <flushOnExecute statement="deleteProduct"/>     
    6  <property name="size" value="1000" />     
    7</cacheModel>  


      最后給<select/>節點應用cache

    Xml代碼 

    1<select id="getAllProducts" cacheModel="product-cache">   
    2  select * from PRODUCT    
    3</statement>    


    復雜點的用法

    Xml代碼 

     1<cacheModel/>節點    
     2  type="LRU"   
     3    type屬性可以指定cache的類型,ibatis支持3種緩存:    
     4      MEMORY     沒有統一的對象重用模式或內存不足的應用。    
     5      LRU        經常使用的對象,這是性能最好的選擇。    
     6      FIFO       在短時間內持續引用,而后很可能不再使用。    
     7    也可以使用外部cache如:    
     8      type="OSCACHE"   
     9       
    10  readOnly="true"   
    11    默認true時緩存效果最好,可以減少更新。    
    12        
    13  serialize="false"   
    14    默認false,設true可以提高整體應用的性能。    
    15      serialize只能應用于實現了Serializable接口的對象,而且和lazyLoadingEnabled="true"屬性沖突。    
    16          
    17  flushInterval    
    18    自動刷新間隔時間。    
    19   
    20  flushOnExecute    
    21    在特定id的操作后,刷新cache,可選操作。    
    22   
    23手動刷新緩存    
    24  [sqlmap].flushDataCache("product-cache")    
    25    刷新cache當id="product-cache"   
    26  [sqlmap].flushDataCache()    
    27    刷新sqlmap內的所有cache   
    28


    2.ibatis 拼接sql語句,動態查詢
    在ibatis中使用安全的拼接語句,動態查詢
    ibatis比JDBC的優勢之一,安全高效
    說明文字在注釋中

    Xml代碼 

     1<select id="selectAllProducts" parameterClass="Product" resultMap="ProductResult">   
     2  select id,note from Product    
     3     <dynamic prepend="WHERE">   
     4     <!-- isNotNull判斷參數是否存在,Integer類型 -->   
     5          <isNotNull property="id">   
     6              <!-- isGreaterThan判斷參數是否大于compareValue,isGreaterEquals是大于等于 -->   
     7              <isGreaterThan prepend=" and " property="id" compareValue="0">   
     8              id = #id#    
     9              </isGreaterThan>   
    10          </isNotNull>   
    11          <!-- isNotEmpty判斷字串不為空,isEmpty可以判斷字串為空 -->   
    12          <isNotEmpty prepend=" and " property="note">   
    13          <!-- 模糊查詢不能用#,#在是用prepareStatement的?插入參數,$是文本替換 -->   
    14          note like '%$note$%'    
    15          </isNotEmpty>   
    16      </dynamic>   
    17</select>   


    用Map傳參數

    Xml代碼 

     1<select id="selectAllProducts" parameterClass="java.util.HashMap" resultMap="ProductResult">   
     2  select id,note from Product    
     3     <dynamic prepend="WHERE">   
     4     <!-- isPropertyAvailable判斷屬性是否有效 -->   
     5        <isPropertyAvailable property="id">   
     6          <isNotNull property="id">   
     7              <!-- isLessThan判斷參數是否小于compareValue,isLessEquals是小于等于 -->   
     8              <isLessThan prepend=" and " property="id" compareValue="10">   
     9              id = #id#    
    10              </isLessThan>   
    11          </isNotNull>   
    12        </isPropertyAvailable>   
    13      </dynamic>   
    14</select>   


    ---------------------------------幾個常用屬性----------------------------------

    Xml代碼

     1<isPropertyAvailable> 屬性是存在    
     2<isNotPropertyAvailable> 屬性不存在    
     3<isNull> 屬性值是null    
     4<isEmpty> 判斷Collection.size<1或String.length()<1   
     5<isEqual> 等于    
     6<isNotEqual> 不等于    
     7<isGreaterThan> 大于    
     8<isGreaterEqual> 大于等于    
     9<isLessThan> 小于    
    10<isLessEqual> 小于等于   
    posted on 2010-06-30 16:58 rogerfan 閱讀(190) 評論(0)  編輯  收藏 所屬分類: 【開源技術】
    主站蜘蛛池模板: 亚洲午夜成激人情在线影院| 久久精品人成免费| 一区二区在线免费视频| 成人特级毛片69免费观看| 中文字幕免费在线播放| 99re6在线精品视频免费播放| 亚洲免费一级视频| 免费二级毛片免费完整视频| 亚洲人色婷婷成人网站在线观看| 久久久久亚洲AV无码专区首| 亚洲色偷偷综合亚洲av78| 免费国产在线精品一区| 免费视频精品一区二区三区| 国产成人午夜精品免费视频| 国产精品亚洲二区在线观看| 亚洲视频免费播放| 一级毛片a免费播放王色电影 | 国产成人亚洲精品影院| 亚洲啪啪免费视频| 免费网站看av片| 亚洲一区精品伊人久久伊人| 99999久久久久久亚洲| 国产99视频精品免费专区| 免费看片A级毛片免费看| 日韩精品一区二区亚洲AV观看 | 一区二区三区AV高清免费波多| 曰批全过程免费视频网址| 久久精品国产精品亚洲艾草网美妙 | 亚洲日本国产精华液| 成全视频高清免费观看电视剧| 免费人成激情视频| 白白色免费在线视频| 国产精品国产免费无码专区不卡| 亚洲小说区图片区| 99无码人妻一区二区三区免费| 亚洲av网址在线观看| 无码国产精品一区二区免费3p| 亚洲精品一品区二品区三品区| 三上悠亚电影全集免费| 久久亚洲综合色一区二区三区| 成人片黄网站色大片免费观看APP|