`
sarin
  • 浏览: 1756721 次
  • 性别: Icon_minigender_1
  • 来自: 大连
博客专栏
E3b14d1f-4cc5-37dd-b820-b6af951740bc
Spring数据库访问系列...
浏览量:173642
C2083dc5-6474-39e2-993e-263652d27795
Android学习笔记
浏览量:368089
5f40a095-b33c-3e8e-8891-606fcf3b8d27
iBatis开发详解
浏览量:189236
B272a31d-e7bd-3eff-8cc4-c0624ee75fee
Objective-C学习...
浏览量:99815
社区版块
存档分类
最新评论

iBatis的详细配置

阅读更多
   iBatis的简单增删改查操作非常容易掌握,下面我们来看看iBatis的详细配置。虽然iBatis小巧灵活,但是其可扩展性也非常强。iBatis的核心配置文件就是SqlMapConfig.xml了,下面我们来看看iBatis的核心配置结构。
    SqlMapConfig配置文件在前面我们知道要配置JDBC连接,SqlMap映射文件等信息,当然这都是非常基本的配置,现在我们要探究一下SqlMapConfig的详细配置。主要包括以下内容:
    <properties>元素的配置,它提供了允许在主配置文件之外的一个“名值对”列表,可以将其中的配置信息加载进来,而这些配置信息可以放在任何一个地方。使用properties元素,其中有两个属性,分别是:resource和url。
    使用resource属性时,类加载器会从类路径开始定位该资源;而使用url属性时,则是用java.net.URL类来处理的,提供一个有效的URL即可。之前的示例中,我们使用了resource属性来配置数据库连接信息,如:
<properties resource="jdbc.properties" />

    而在jdbc.properties中,我们配置了数据库的驱动属性,连接url,用户名和密码,这样它们就可以被properties元素加载进来,使用起来非常方便。而properties配置文件中是以“名值对”的方式存储的,那么我们使用名称即可引用,这是很多人都熟悉的语法,比如:${driver}就能获取到com.mysql.jdbc.Driver,这里我们使用的是MySQL数据库。
    <settings>元素的配置,这个元素即设置iBatis的全局配置信息。下面我们逐一来看其中可配置的属性信息。
    lazyLoadingEnabled,从名字即可看出是否进行延迟加载。通俗来说,延迟加载就是只加载必要信息而推迟加载其他未明确请求的数据,这里要和Hibernate中延迟加载区分开。那也就是说,除非绝对必须,否则程序加载的数据越少越好。iBatis默认使用了延迟加载,即不配置时也是默认为true的。
    cacheModelsEnabled,这是数据缓存的配置,缓存可以提高程序的性能,这是显而易见的。和延迟加载一样,缓存也是默认启用的。
    enhancementEnabled,该配置是来说明是否使用cglib中那些优化的类来提高延迟加载的性能,默认值为true,也就是启用。但是之前的示例中,并没有在lib中加入cglib的类库,那么iBatis没有在类路径上发现cglib时,该功能也就不能起作用了。这里多说一点,对于增强框架,除非必须,尽量避免使用。
    useStatementNamespaces,该配置说明是否使用语句的命名空间,默认是不使用的,但是在大型应用时,使用命名空间来作为限定就比较清楚了。使用方法是在<sql-map>标记上加namespace属性即可,在程序中就使用“命名空间.SQL映射语句”这种语法来执行。
    settings还可以设置maxRequests,maxSessions和maxTransactions信息,但它们都已经被废弃了,也就是说我们可以不用设置它们,使用默认的就可以了。如果必须要进行设置,那就要保证maxRequests大于maxSessions,而maxSessions要大于maxTransactions。
    下面我们来看<typeAlias>元素,就是起别名,很容易理解,我们不想使用过长的类名时,可以用它来起个别名,之后我们使用别名就可以了。比如:
<typeAlias alias="User" type="ibatis.model.User" />

    很容易看出type属性是原始的类名,而alias属性配置我们希望使用的名字即可。
    iBatis已经为我们设置了一些类型的别名,我们就可以直接使用了,比如事务管理器的JDBC,JTA和EXTERNAL;数据类型的string,byte,long,short,int等;数据源工厂的SIMPLE,DBCP,JNDI;高速缓存控制器的FIFO,LRU,MEMORY,OSCACHE和XML结果类型的DOM,domCollection,Xml,XmlCollection,它们是可以直接使用的。
    transactionManager元素,没错,它就是来做事务的。iBatis内置的事务管理器有JDBC,JTA和EXTERNAL。EXTERNAL表示事务管理器是应用程序本身负责,而不是iBatis。使用type属性就能在transactionManager元素中配置事务管理器了。比如:
<transactionManager type="JDBC"></transactionManager>

    它还有一个可以配置的属性是commitRequired,来配置在某个连接释放之前必须提交或者回滚的情况。
    在transactionManager元素中还可以继续配置<properties>元素和<dataSource>元素。properties元素用于指定transactionManager的配置项,而后者用于配置数据源工厂,默认提供三种SIMPLE,DBCP和JNDI。
    typeHandler元素,即类型处理器,用于将数据库中的数据类型转换成应用程序中使用的数据类型。假如数据库中不支持布尔值,那么只能以0/1来代表,而Java应用程序中支持布尔值,这里就需要一个类型处理的过程。使用时需要创建两个类,一个是类型处理类,一个是类型处理回调类。iBatis预先设置了大量的类型处理器,如果不是必须,为了程序的简单,那么尽量不要使用。
    最后来看一下sqlMap元素,它就是配置SQL语句的了,是我们最常用到的一个标签。可以使用namespace来确定一个命名空间,这在之前已经说到了,可以将同一流程的SQL语句写在一起,放到一个命名空间下,在程序中使用更加清晰。在sqlMap之中,就是对数据库具体操作的实现了,包括增删改查等标记。
    下面是iBatis的配置关系图:可以加深对iBatis的理解。

    概念很枯燥,但是要理解iBatis这是必须要弄懂的,各种参考书上也会有,这里加入了作者使用iBatis的一些想法。欢迎交流。
  • 大小: 26.1 KB
8
5
分享到:
评论
2 楼 sarin 2010-07-28  
sunshuxin 写道
这篇文章很一般,没有博主其他的文章写得好。

纯概念的东西虽然枯燥,但是不得不去弄明白,可以关注后续内容。都是结合原创实例的。
1 楼 sunshuxin 2010-07-28  
这篇文章很一般,没有博主其他的文章写得好。

相关推荐

    ibatis详细配置

    标题:“ibatis详细配置” 描述:“ibatis详细配置讲的很精简,适合作为查阅使用” ibatis,现称为MyBatis,是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。ibatis避免了几乎所有的JDBC代码和...

    IBatis.net 配置各种数据库

    本文将详细介绍如何在IBatis.net中配置和使用各种数据库。 首先,理解IBatis.net的核心概念。IBatis 是一个基于.NET平台的持久层框架,它实现了SQL语句与.NET代码的解耦,通过XML或注解的方式将SQL与数据访问逻辑...

    ibatis用xml配置文件配置使用

    在IT行业中,iBATIS(现为MyBatis)是一个非常流行的数据访问框架,它将SQL语句与Java代码分离,使得数据库操作更加简洁、灵活。...希望这篇详细说明能帮助你理解和掌握iBATIS的XML配置文件配置使用。

    ibatis 实例 配置 源码

    ibatis 实例 配置 源码 依赖包 ibatis-2.3.4.726.jar commons-logging-api.jar commons-logging-1.1.jar commons-dbcp-1.2.2.jar commons-pool.jar

    Ibatis基本配置---[环境搭建

    Ibatis基本配置---[环境搭建

    ibatis配置文件信息

    ### ibatis配置文件信息 #### 一、简介 在Java开发领域中,ibatis(现称为MyBatis)是一款优秀的持久层框架,它通过XML或注解的方式将接口方法与SQL语句绑定起来,实现对象关系映射(ORM)功能。ibatis的主要优势...

    ibatis总配置和映射配置.txt

    此文本主要是关于ibatis总配置和映射配置和一些需要主要的细节。

    spring+ibatis事务的配置

    很好的spring+ibatis事务的配置文档.

    ibatis 配置文件详解

    ### ibatis配置文件详解 #### 一、ibatis概述 ibatis,又称MyBatis,是一种优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。ibatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。ibatis可以...

    springMVC整合ibatis 配置详细

    3. **配置iBatis**:创建SqlSessionFactoryBean,配置数据源、MyBatis的配置文件路径等。例如: ```xml ``` 4. **定义Mapper接口和XML配置**:在iBatis中,定义Mapper接口,并在XML文件中编写SQL语句。...

    Spring+ibatis 保留ibatis事务的配置

    ibatis配置文件中,可以看到关于ibatis事务管理器的配置。这里设置事务管理器类型为JDBC,表示ibatis将直接使用底层的JDBC连接进行事务控制,而不是使用Spring提供的事务管理器。 ```xml ``` ...

    Ibatis的应用和配置

    一、Ibatis配置文件 Ibatis的主要配置文件是`mybatis-config.xml`,它是整个系统的全局配置文件。这个文件中包含了数据源、事务管理器、环境配置、Mappers等重要元素的定义。例如: ```xml ...

    ibatis相关配置

    ### Ibatis配置详解 1. **全局配置文件(ibatis-config.xml)** 全局配置文件是Ibatis系统的起点,它包含了数据源、事务管理器、插件、类型别名等整体设置。例如: ```xml &lt;!DOCTYPE configuration PUBLIC "-/...

    ibatis 注解配置文件

    本篇文章将详细讲解如何在Ibatis中使用注解进行配置,帮助你理解并掌握这一重要技能。 首先,让我们了解Ibatis的基本概念。Ibatis是一个轻量级的Java ORM(对象关系映射)框架,它允许我们编写SQL语句并将其与Java...

    常用ibatis配置

    标题中提到的“常用ibatis配置”指的是在使用iBatis这一数据持久层框架中,常见的配置用法和技术点。iBatis(现称为MyBatis)是一个流行的Java持久层框架,它通过使用XML或注解的方式,将SQL语句与对象进行映射,...

    ibatis sqlmap配置详解

    SqlMap的配置是iBatis中应用的核心。这部分任务占据了iBatis开发的...Sql Map配置文件是iBatis配置的核心,从数据库连接到执行SQL时使用的sqlMap文件都是通过此文件中的配置提供给框架的,它通常命名为sqlMapConfig.xml

    ibatis配置文件自动加载组件

    标题 "ibatis配置文件自动加载组件" 涉及的核心技术是MyBatis的自动配置加载功能,这在开发过程中极大地提高了效率,使得开发者无需每次修改XML映射文件后手动重启服务。MyBatis是一个优秀的Java持久层框架,它简化...

    ibatis配置文件

    描述:“详细的ibatis配置文件,初来乍到,先打个招呼...” 在本文中,我们将深入探讨ibatis配置文件的关键组成部分及其如何影响ibatis框架的运行机制。ibatis(现在通常称为MyBatis)是一个优秀的持久层框架,它将...

Global site tag (gtag.js) - Google Analytics