`
chinagdvea
  • 浏览: 131342 次
  • 性别: Icon_minigender_1
  • 来自: 韶关
社区版块
存档分类
最新评论

iBATIS DAO映射文件

阅读更多
OR 映射
相对Hibernate 等ORM 实现而言,ibatis的映射配置更为简洁直接,下面是一
个典型的配置文件。
<!DOCTYPE sqlMap
PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-2.dtd">
<sqlMap namespace="User">
  <!--模块配置-->
  <typeAlias alias="user" type="com.ibatis.sample.User"/>

  <cacheModel id="userCache" type="LRU">
    <flushInterval hours="24"/>
    <flushOnExecute statement=" updateUser"/>
    <property name="size" value="1000" />
  </cacheModel>

  <!—Statement配置-->
  <select id="getUser"
    parameterClass="java.lang.String"
    resultClass="user"
    cacheModel="userCache"
  >
    <![CDATA[
    select
    name,
    sex
    from t_user
    where name = #name#
    ]]>
  </select>

  <update id="updateUser"
    parameterClass="user">
    UPDATE t_user
    SET
    name=#name#,
    sex=#sex#
    WHERE id = #id#
  </update>

</sqlMap>


可以看到,映射文件主要分为两个部分:模块配置和Statement配置。
模块配置包括:

Ø typeAlias节点:
定义了本映射文件中的别名,以避免过长变量值的反复书写,此例中通过
typeAlias节点为类"com.ibatis.sample.User"定义了一个别名"user",
这样在本配置文件的其他部分,需要引用"com.ibatis.sample.User"类时,
只需以其别名替代即可。

Ø cacheModel节点
定义了本映射文件中使用的Cache机制:

<cacheModel id="userCache" type="LRU">
  <flushInterval hours="24"/>
  <flushOnExecute statement="updateUser"/>
  <property name="size" value="1000" />
</cacheModel>

这里申明了一个名为"userCache"的cacheModel,之后可以在
Statement申明中对其进行引用:
<select id="getUser"
parameterClass="java.lang.String"
resultClass="user"
cacheModel="userCache"
>
这表明对通过id为"getUser"的Select statement获取的数据,使用
cacheModel "userCache"进行缓存。之后如果程序再次用此Statement
进行数据查询,即直接从缓存中读取查询结果,而无需再去数据库查询。

cacheModel主要有下面几个配置点:
l flushInterval :
设定缓存有效期,如果超过此设定值,则将此CacheModel的缓存清空。
l size:
本CacheModel中最大容纳的数据对象数量。
l flushOnExecute:
指定执行特定Statement时,将缓存清空。如updateUser操作将更
新数据库中的用户信息,这将导致缓存中的数据对象与数据库中的实际
数据发生偏差,因此必须将缓存清空以避免脏数据的出现。
分享到:
评论

相关推荐

    ibatis SQL映射文件、DAO、model自动生成工具源码

    这个"ibatis SQL映射文件、DAO、model自动生成工具"的源码,旨在简化开发过程,通过自动化生成基本的Ibatis相关代码,提高开发效率。 首先,SQL映射文件(Mapper XML)是Ibatis的核心部分,它定义了数据库操作的SQL...

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

    首先,iBATIS DAO的核心概念是SQL Maps,它们定义了数据库操作的SQL语句,并将其映射到Java方法上。这些SQL Maps通常以XML文件的形式存在,允许开发者直接在代码中调用预定义的SQL操作,如查询、插入、更新和删除。...

    IBATISDAO库类操作

    **IBATISDAO库类操作详解** 在Java开发中,IBATIS是一个流行的数据访问接口框架,它提供了灵活的SQL映射机制,使得开发者能够直接使用SQL语句进行数据库操作,而无需编写复杂的JDBC代码。`IBATISDAO`库类是基于...

    ibatisDao.rar

    本资料“ibatisDao.rar”包含了一份对iBATIS DAO框架的深入分析,旨在帮助开发者更好地理解和应用这一技术。 在iBATIS中,DAO(Data Access Object)是数据库访问对象,它封装了对数据库的增删查改操作。DAO模式是...

    生成ibatis Dao

    本知识点主要聚焦于如何生成Ibatis的Dao(数据访问对象)类,以及相关的实体类(Entity)和SQL映射文件(sqlMap)。下面我们将详细介绍这个过程。 首先,Ibatis Dao的生成通常涉及到几个关键步骤: 1. **配置文件*...

    iBATIS_DAO-2.2.0.638

    2. **动态SQL**:iBATIS支持动态SQL,允许在XML映射文件中编写条件语句,根据实际参数动态生成执行的SQL,提高了代码的可复用性和可维护性。 3. **结果集映射**:通过配置文件,可以指定如何将数据库查询结果映射到...

    ibatis--dao的应用

    总的来说,Ibatis在DAO应用中提供了一种高效、灵活的数据库操作方式,它通过XML映射文件将SQL与Java对象紧密联系起来,减少了代码冗余,提高了开发效率。通过理解Ibatis的工作原理和配置,开发者可以更好地利用这个...

    iBATIS-DAO-2

    ### iBATIS Data Access Objects (DAO):一种强大的持久层抽象技术 在深入探讨iBATIS Data Access Objects(DAO)的细节之前,我们先来理解一下这个概念的重要性以及它如何改变Java应用程序的开发方式。 #### 引言...

    使用abator搭建ibatis dao框架

    例如,如果你有一个名为`User`的表,Abator会生成`User.java`(模型类)、`UserMapper.xml`(SQL映射文件)以及`UserMapper.java`(DAO接口)。在业务逻辑中,你可以这样使用: ```java @Autowired private ...

    ibatis 配置文件详解

    通过上述解析,我们可以看出ibatis配置文件在ibatis框架中的核心地位,它不仅定义了数据源和事务管理策略,还指定了SQL映射文件的位置,使得ibatis能够根据配置正确地执行SQL语句,完成数据库操作。

    iBATIS-DAO-2_en

    iBATIS是一个流行的Java持久层框架,它专注于SQL查询的执行和结果集的映射,提供了一种声明式的数据访问方式。与传统的JDBC相比,iBATIS简化了SQL语句的编写和结果处理,同时也提供了事务管理等高级功能。 将iBATIS...

    一个基于oralce java 的ibatis 映射文件生成工具

    基于oracle的,支持生成序列,pojo sqlmap.xml,dao daointerface,生成字段的注释 四个基本方法,增删改查, 写的时候基于oracle11的,低版本的可能在到得字段注释 的地方会不兼容,自已改改或不加注释就可以了

    MyBatis自动生成实体类、DAO接口和Mapping映射文件的代码(逆向工程)

    "MyBatis逆向工程自动生成实体类、DAO接口和Mapping映射文件的代码" MyBatis是一个流行的持久层框架,提供了逆向工程功能,可以根据数据库表结构自动生成实体类、DAO接口和Mapping映射文件。本文档将详细介绍...

    ibatis开发包(common+sqlmap+dao)

    SQL Map是Ibatis的核心概念,它是一个XML文件或者注解,用来描述SQL语句及其关联的结果映射。通过SQL Map,开发者可以编写动态的SQL,使得SQL的编写更加灵活。此外,`ibatis-sqlmap-2.jar`还包含`SqlSession`和`...

    mybatis/ibatis自动生成SQLMapper脚本

    通过自动生成这些映射文件,开发者可以避免手动编写繁琐的SQL代码,同时保持代码的整洁和可维护性。 1. **配置Generator**: MyBatis 提供了一个代码生成器(Code Generator),可以自动生成包括Mapper接口、Mapper ...

    IBatis常用操作封装

    本篇我们将深入探讨“IBatis常用操作封装”,并结合提供的`IBatisDao.java`文件来解析其核心功能和用法。 首先,`IBatis`的核心理念是通过XML或注解的方式定义SQL映射文件,将SQL语句与业务逻辑代码分离,提高了...

    Struts+Spring+iBATIS做的XML文件操作例子

    `userMapper` bean则是一个可以注入到业务逻辑层的DAO(数据访问对象),通过它可以直接执行XML映射文件中的SQL语句。 Struts则负责接收用户请求并调用Spring管理的业务层服务。例如,当用户请求查看特定用户信息时...

    ibatis相关的common,dao,sqlmap包

    在Ibatis中,DAO通常由Mapper接口和对应的XML配置文件组成,通过动态代理机制实现了SQL语句的执行和结果的映射。开发者可以在Mapper接口中定义方法,对应XML文件中的SQL语句,从而实现数据库操作的声明式编程。 3. ...

    hibernate3.jar、ibatis-dao-2.jar、spring.jar、struts.jar、log4j-1.2.9.jar

    5. **iBatis-dao-2.jar**:iBatis(在本例中可能是iBATIS DAO的特定版本)是另一种ORM框架,不同于Hibernate,它更强调SQL的灵活性。iBatis允许开发者编写自定义的SQL,将SQL语句直接嵌入XML配置文件或Java代码中,...

Global site tag (gtag.js) - Google Analytics