`
x98zero
  • 浏览: 108836 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Ibatis.....

阅读更多
1.ibatis中使用缓存
首先设置SqlMapConfig.xml中<settings/>节点的属性cacheModelsEnabled="true"
 
  然后在具体sqlmap文件中书写<cacheModel>
    <cacheModel id="product-cache" type="LRU"> 
      <flushInterval hours="24"/> 
      <flushOnExecute statement="insertProduct"/>
      <flushOnExecute statement="updateProduct"/> 
      <flushOnExecute statement="deleteProduct"/> 
      <property name="size" value="1000" /> 
    </cacheModel>

  
  最后给<select/>节点应用cache
    <select id="getAllProducts" cacheModel="product-cache">
      select * from PRODUCT
    </statement> 

   
复杂点的用法
  <cacheModel/>节点
    type="LRU"
      type属性可以指定cache的类型,ibatis支持3种缓存:
        MEMORY     没有统一的对象重用模式或内存不足的应用。
        LRU        经常使用的对象,这是性能最好的选择。
        FIFO       在短时间内持续引用,而后很可能不再使用。
      也可以使用外部cache如:
        type="OSCACHE"
     
    readOnly="true"
      默认true时缓存效果最好,可以减少更新。
      
    serialize="false"
      默认false,设true可以提高整体应用的性能。
        serialize只能应用于实现了Serializable接口的对象,而且和lazyLoadingEnabled="true"属性冲突。
        
    flushInterval
      自动刷新间隔时间。

    flushOnExecute
      在特定id的操作后,刷新cache,可选操作。

  手动刷新缓存
    [sqlmap].flushDataCache("product-cache")
      刷新cache当id="product-cache"
    [sqlmap].flushDataCache()
      刷新sqlmap内的所有cache


2.ibatis 拼接sql语句,动态查询
在ibatis中使用安全的拼接语句,动态查询
ibatis比JDBC的优势之一,安全高效
说明文字在注释中
  <select id="selectAllProducts" parameterClass="Product" resultMap="ProductResult">
    select id,note from Product
       <dynamic prepend="WHERE">
       <!-- isNotNull判断参数是否存在,Integer类型 -->
            <isNotNull property="id">
                <!-- isGreaterThan判断参数是否大于compareValue,isGreaterEquals是大于等于 -->
                <isGreaterThan prepend=" and " property="id" compareValue="0">
                id = #id#
                </isGreaterThan>
            </isNotNull>
            <!-- isNotEmpty判断字串不为空,isEmpty可以判断字串为空 -->
            <isNotEmpty prepend=" and " property="note">
            <!-- 模糊查询不能用#,#在是用prepareStatement的?插入参数,$是文本替换 -->
            note like '%$note$%'
            </isNotEmpty>
        </dynamic>
  </select>

 
用Map传参数
  <select id="selectAllProducts" parameterClass="java.util.HashMap" resultMap="ProductResult">
    select id,note from Product
       <dynamic prepend="WHERE">
       <!-- isPropertyAvailable判断属性是否有效 -->
          <isPropertyAvailable property="id">
            <isNotNull property="id">
                <!-- isLessThan判断参数是否小于compareValue,isLessEquals是小于等于 -->
                <isLessThan prepend=" and " property="id" compareValue="10">
                id = #id#
                </isLessThan>
            </isNotNull>
          </isPropertyAvailable>
        </dynamic>
  </select>


---------------------------------几个常用属性----------------------------------
<isPropertyAvailable> 属性是存在
<isNotPropertyAvailable> 属性不存在
<isNull> 属性值是null
<isEmpty> 判断Collection.size<1或String.length()<1
<isEqual> 等于
<isNotEqual> 不等于
<isGreaterThan> 大于
<isGreaterEqual> 大于等于
<isLessThan> 小于
<isLessEqual> 小于等于


分享到:
评论

相关推荐

    IBatisNet.Common.1.6.2、IBatis.DataAccess.1.9.2、IBatis.DataMapper.1.6.2

    标题和描述中提到的"IBatisNet.Common.1.6.2、IBatis.DataAccess.1.9.2、IBatis.DataMapper.1.6.2"是针对一个名为IBatisNet的框架的不同组件的版本号。IBatisNet是一个在.NET平台上实现的开源持久层框架,它源于Java...

    IBatis.DataMapper.1.6.2.bin.zip

    本篇文章将围绕"IBatis.DataMapper.1.6.2.bin.zip"和"IBatis.DataMapper.1.9"这两个开发包,深入探讨其核心概念、功能特性以及版本间的差异,帮助开发者更好地理解和应用这一框架。 1. **IBatis DataMapper简介** ...

    IBatis.net-IBatis.DataAccess.1.9.2/IBatis.DataMapper.1.6.2

    本篇将深入探讨IBatis.Net的核心组件——IBatis.DataAccess.1.9.2和IBatis.DataMapper.1.6.2,以及它们在数据访问中的关键作用。 **一、IBatis.DataAccess** IBatis.DataAccess是IBatis.net框架的一部分,主要负责...

    ibatis-core-3.0.jar org.apache.ibatis.annotations.Param

    `org.apache.ibatis.annotations.Param`是MyBatis中的一个重要注解,用于处理方法参数映射。 `@Param`注解主要用于SQL查询中的动态参数绑定,尤其是在动态SQL语句中。在MyBatis的映射文件或者Mapper接口中,当我们...

    IBatis.DataMapper.1.6.2

    标题 "IBatis.DataMapper.1.6.2" 指的是 IBatis 数据映射器的一个特定版本,即 1.6.2 版本。IBatis 是一个流行且广泛使用的开源持久层框架,它允许开发者将 SQL 查询与.NET 应用程序中的对象模型进行解耦,提供了一...

    IBatis.DataAccess.1.9.2

    包含IBatis.net 开发所需的Castle.DynamicProxy.dll,IBatisNet.Common.dll,IBatisNet.DataAccess.dll,IBatisNet.Common.dll以及相关配置文件

    iBatis.rar 开发文档

    3. **ibatis.pdf**:虽然名字简单,但这份文档可能是对iBatis全面的概述,不仅包含基础内容,还可能深入到高级特性和设计模式。例如,它可能涵盖一对一、一对多、多对多的复杂关联映射,以及如何利用、标签处理嵌套...

    Manning.iBATIS.in.Action.Jan.2007.eBook-BBL.pdf

    根据提供的文件信息,本书《Manning iBATIS in Action Jan. 2007 eBook-BBL》主要介绍了iBATIS框架的基本概念、安装配置方法、核心功能及其在实际项目中的应用。下面将针对该书籍中提及的主要知识点进行详细阐述。 ...

    ibatis.util包

    1. **Logger**: Ibatis提供了一个日志接口`org.apache.ibatis.logging.Log`,而`ibatis.util.LogFactory`则负责根据用户配置的实现(如Log4j、SLF4J或Java内置的日志系统)创建对应的日志实例,用于记录SQL执行和...

    Spring高版本对ibatis的支持

    &lt;bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean"&gt; &lt;value&gt;classpath:SqlMapConfig.xml &lt;bean id="dao" class="org.springframework.orm.ibatis....

    iBATIS-DAO-2.3.4.726.rar_com.ibatis.dao_iBATIS dao 2_iBatis DAO_

    在源码中,`com.ibatis.dao`包下包含了许多关键类,例如`SqlMapClient`是整个框架的入口,负责管理所有的SQL Maps;`SqlMapExecutor`是执行SQL的接口,提供了各种数据库操作的方法;而`SqlMapSession`则封装了事务...

    ibatis、mybatis官方教程文档集合(含Manning.iBATIS.in.Action)

    Manning.iBATIS.in.Action.Jan.2007.eBook-BBL.pdf MyBatis 3 User Guide Simplified Chinese.pdf MyBatis-3.0.3-Migrations.pdf MyBatis-3.0.3-User-Guide.pdf MyBatis-3-Migrations.doc MyBatis-3-Migrations.pdf ...

    ibatis-2.3.3.720.jar

    ibatis-2.3.3.720.jar

    spring-ibatis.jar

    spring-ibatis.jarspring-ibatis.jarspring-ibatis.jar

    ibatis-2.3.4.726.jar,ibatis-2.3.0.677.jar,ibatis-2.3.3.720.jar下载

    这里提到的是iBATIS的三个不同版本的jar包:ibatis-2.3.4.726.jar、ibatis-2.3.0.677.jar以及ibatis-2.3.3.720.jar。 首先,让我们深入了解iBATIS的核心概念和功能: 1. **SQL Map配置**:iBATIS的核心是SQL Map...

    ibatis.DataMapper.1.6.2 for .net

    Ibatis.DataMapper.1.6.2 for .NET 是一个针对.NET框架的版本,它是开源对象关系映射(ORM)工具iBATIS的.NET实现。iBATIS最初由Clinton Begin创建,后来发展成为MyBatis,现在是Java平台上的一个流行ORM框架。然而...

    IBatis.DataAccess.

    **IBatis.DataAccess 知识点详解** IBatis 是一个优秀的持久层框架,它允许开发者将SQL语句直接写在配置文件中,与Java代码解耦,提高了开发效率和可维护性。IBatis 数据访问组件(DataAccess)是其核心部分,负责...

    ibatis.rar学习手册

    【描述】:“iBatis.rar 学习手册学习手册学习手册各种讲解” 这是一份详尽的iBatis学习资源,包含多方面的讲解,旨在帮助读者全面掌握iBatis的使用。通过这份压缩包,你可以了解到iBatis的基本架构、映射文件的...

Global site tag (gtag.js) - Google Analytics