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映射文件(Mapper XML)是Ibatis的核心部分,它定义了数据库操作的SQL...
首先,iBATIS DAO的核心概念是SQL Maps,它们定义了数据库操作的SQL语句,并将其映射到Java方法上。这些SQL Maps通常以XML文件的形式存在,允许开发者直接在代码中调用预定义的SQL操作,如查询、插入、更新和删除。...
**IBATISDAO库类操作详解** 在Java开发中,IBATIS是一个流行的数据访问接口框架,它提供了灵活的SQL映射机制,使得开发者能够直接使用SQL语句进行数据库操作,而无需编写复杂的JDBC代码。`IBATISDAO`库类是基于...
本资料“ibatisDao.rar”包含了一份对iBATIS DAO框架的深入分析,旨在帮助开发者更好地理解和应用这一技术。 在iBATIS中,DAO(Data Access Object)是数据库访问对象,它封装了对数据库的增删查改操作。DAO模式是...
本知识点主要聚焦于如何生成Ibatis的Dao(数据访问对象)类,以及相关的实体类(Entity)和SQL映射文件(sqlMap)。下面我们将详细介绍这个过程。 首先,Ibatis Dao的生成通常涉及到几个关键步骤: 1. **配置文件*...
2. **动态SQL**:iBATIS支持动态SQL,允许在XML映射文件中编写条件语句,根据实际参数动态生成执行的SQL,提高了代码的可复用性和可维护性。 3. **结果集映射**:通过配置文件,可以指定如何将数据库查询结果映射到...
总的来说,Ibatis在DAO应用中提供了一种高效、灵活的数据库操作方式,它通过XML映射文件将SQL与Java对象紧密联系起来,减少了代码冗余,提高了开发效率。通过理解Ibatis的工作原理和配置,开发者可以更好地利用这个...
### iBATIS Data Access Objects (DAO):一种强大的持久层抽象技术 在深入探讨iBATIS Data Access Objects(DAO)的细节之前,我们先来理解一下这个概念的重要性以及它如何改变Java应用程序的开发方式。 #### 引言...
例如,如果你有一个名为`User`的表,Abator会生成`User.java`(模型类)、`UserMapper.xml`(SQL映射文件)以及`UserMapper.java`(DAO接口)。在业务逻辑中,你可以这样使用: ```java @Autowired private ...
通过上述解析,我们可以看出ibatis配置文件在ibatis框架中的核心地位,它不仅定义了数据源和事务管理策略,还指定了SQL映射文件的位置,使得ibatis能够根据配置正确地执行SQL语句,完成数据库操作。
iBATIS是一个流行的Java持久层框架,它专注于SQL查询的执行和结果集的映射,提供了一种声明式的数据访问方式。与传统的JDBC相比,iBATIS简化了SQL语句的编写和结果处理,同时也提供了事务管理等高级功能。 将iBATIS...
基于oracle的,支持生成序列,pojo sqlmap.xml,dao daointerface,生成字段的注释 四个基本方法,增删改查, 写的时候基于oracle11的,低版本的可能在到得字段注释 的地方会不兼容,自已改改或不加注释就可以了
"MyBatis逆向工程自动生成实体类、DAO接口和Mapping映射文件的代码" MyBatis是一个流行的持久层框架,提供了逆向工程功能,可以根据数据库表结构自动生成实体类、DAO接口和Mapping映射文件。本文档将详细介绍...
SQL Map是Ibatis的核心概念,它是一个XML文件或者注解,用来描述SQL语句及其关联的结果映射。通过SQL Map,开发者可以编写动态的SQL,使得SQL的编写更加灵活。此外,`ibatis-sqlmap-2.jar`还包含`SqlSession`和`...
通过自动生成这些映射文件,开发者可以避免手动编写繁琐的SQL代码,同时保持代码的整洁和可维护性。 1. **配置Generator**: MyBatis 提供了一个代码生成器(Code Generator),可以自动生成包括Mapper接口、Mapper ...
本篇我们将深入探讨“IBatis常用操作封装”,并结合提供的`IBatisDao.java`文件来解析其核心功能和用法。 首先,`IBatis`的核心理念是通过XML或注解的方式定义SQL映射文件,将SQL语句与业务逻辑代码分离,提高了...
`userMapper` bean则是一个可以注入到业务逻辑层的DAO(数据访问对象),通过它可以直接执行XML映射文件中的SQL语句。 Struts则负责接收用户请求并调用Spring管理的业务层服务。例如,当用户请求查看特定用户信息时...
在Ibatis中,DAO通常由Mapper接口和对应的XML配置文件组成,通过动态代理机制实现了SQL语句的执行和结果的映射。开发者可以在Mapper接口中定义方法,对应XML文件中的SQL语句,从而实现数据库操作的声明式编程。 3. ...
5. **iBatis-dao-2.jar**:iBatis(在本例中可能是iBATIS DAO的特定版本)是另一种ORM框架,不同于Hibernate,它更强调SQL的灵活性。iBatis允许开发者编写自定义的SQL,将SQL语句直接嵌入XML配置文件或Java代码中,...