`
joy_cz
  • 浏览: 131145 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

IBatis框架的SQL Map配置文件

阅读更多
 

 

    在IBatis SQL Map框架中,需要一个配置文件来声明一些基本信息。该文件类似Hibernate框架的配置文件“hibernate.cfg.xml”,SQL Map初始化期间,会自动在classpath中寻找这个文件,并读取其中的配置信息。

 

配置文件的名称并不重要,可以由程序员来指定,这里假设该配置文件名为sql_map_config.xml。在配置文件中通常会配置如下这些持久层框架信息:

q        数据库连接JDBC

q        SQL Map映射文件的加载。

q        SQL Map的配置和优化设定。

下面看一个sql_map_config.xml示例12.1

12.1sql_map_config.xml

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"

         "http://www.ibatis.com/dtd/sql-map-config-2.dtd">

<sqlMapConfig>

         <!-- 配置和优化SQL Map解析实例的设定 -->

         <settings cacheModelsEnabled="true"

                       enhancementEnabled="true"

                       lazyLoadingEnabled="true"

                       maxRequests="32"

                       maxSessions="10"

                       maxTransactions="5"

                       useStatementNamespaces="true" />

 

         <!-- 配置连接 -->

         <transactionManager type="JDBC" >

                   <dataSource type="SIMPLE">

                            <property name="JDBC.Driver" value="org.postgresql.Driver"/>

                            <property name="JDBC.ConnectionURL"

                                     value="jdbc:postgresql://192.168.3.53:5432/nrsattacksolution"/>

                            <property name="JDBC.Username" value="sa"/>

                            <property name="JDBC.Password" value="1111"/>

                            <!-- 最大连接数 -->

                            <property name="Pool.MaximumActiveConnections" value="10"/>

                   </dataSource>

         </transactionManager>

 

         <!-- SQL Map映射文件的取得… -->

         <sqlMap resource="fw_attacksolution_SqlMap.xml" />

</sqlMapConfig>

在这个配置文件中,明确表示了SQL Map框架的配置参数,以<sqlMapConfig>作为根结点是必不可少的。随后使用了<settings>元素、<transactionManager>元素和<sqlMap>元素。

<settings>元素中提供了多个属性来配置和优化SQL Map运行时的实例:

q        maxRequests属性指定了同时执行SQL语句最大运行数。

q        maxSessions属性指定了同一时间内活动的最大Session数。所谓Session就是一个请求或一个SQL Map运行时实例自动获得的会话。

q        maxTransactions属性指定了最大事务处理的线程数。

q        cacheModelsEnabled属性指定了SQL Map运行时实例的缓存Model是否开启。

q        lazyLoadingEnabled属性指定了持久化数据是否延迟加载。

q        enhancementEnabled属性指定了全局性的启用或禁用字节码增强,以优化访问POJO变量属性的功能。

q        useStatementNamespaces属性指定了在SQL Map映射文件中是否用全限定名来引用映射声明。

<transactionManager>元素用来配置事务管理。<transactionManager>元素的属性type指定了所使用的事务管理器的类型。该属性值可以是一个别名,也可以是一个类名,本例中所使用的JDBC就是一个别名,它是由IBatis框架所提供。包含在IBatis框架中的事务管理器有三个:除了本例所使用的JDBC(用来管理事务)外,还提供了JTAEXTERNAL两个事务管理器。其中JTA将提供全局的事务管理,EXTERNAL则可以让程序员自行管理事务。

<transactionManager>元素的子元素<dataSource>JDBC数据源设置了一系列参数,这些参数将被用于连接数据库。在SQL Map架构中提供了三种JDBC连接的方式,可以利用type属性来设置这三种方式:

q        SimpleDataSourceFactoryIBatis框架提供的基本连接池的实现,当容器没有提供数据源时可以选择它。SimpleDataSourceFactory的别名已经由IBatis框架所定义,名为“SIMPLE”。本例就是使用SimpleDataSourceFactory作为连接池。

q        DbcpDataSourceFactoryIBatis框架使用DBCP连接池所提供的服务。在Web容器中经常会使用它,在第三章的完整示例中曾经使用它来配置Struts框架部分DAOJDBC连接池。DbcpDataSourceFactory的别名已经由IBatis框架所定义,名为“DBCP”。

q        JndiDataSourceFactoryIBatis框架提供的对JNDI命名服务的支持,它可以在容器中利用JNDI从上下文中找到连接池的实现。在介绍EJB的配置以及Hibernate框架时,曾经将它作为在JBoss服务器中取得连接池的实现,在IBatis框架中是一样的道理。JndiDataSourceFactory的别名已经由IBatis框架所定义,名为“JNDI”。

本例中最后一个元素是<sqlMap>元素,利用属性resource来指定SQL Map映射文件的路径定义。SQL Map映射文件可以从classpath中得到,所以这个路径的定义是以classpath为根目录开始的。本例中没有定义其他路径,说明SQL Map映射文件将被直接放置在classpath路径下。SQL Map映射文件可以有多个。

分享到:
评论

相关推荐

    iBATIS SQL Maps 开发指南

    SQL Map使用简单的XML配置文件将Java Bean映射成SQL语句,对比其他的数据库持续层和ORM框架(如JDO的实现,Hibernate等),SQL Map最大的优点在于它简单易学。要使用SQL Map,只要熟悉Java Bean,XML和SQL,就能使您...

    iBATIS SQL Maps 开发指南 Version 2.0

    SQL Map使用简单的XML配置文件将Java Bean映射成SQL语句,对比其他的数据库持续层和ORM框架(如JDO的实现,Hibernate等),SQL Map最大的优点在于它简单易学。要使用SQL Map,只要熟悉Java Bean,XML和SQL,就能使您...

    iBATIS_SQL_Maps_V2.0开发指南_ibatis_

    SQL Map 使用简单的 XML 配置文件将 Java Bean 映射成 SQL 语句,对比其他的数据库持续层和 ORM 框架(如 JDO 的实现, Hibernate 等), SQL Map 最大的优点在于它简单易学。要使用 SQL Map,只要熟悉Java Bean, ...

    ibatis sqlmap配置详解

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

    iBATIS-SqlMaps-2_cn.rar

    SQL Map使用简单的XML配置文件将Java Bean映射成SQL语句,对比其他的数据库持续层和ORM框架(如JDO的实现,Hibernate等),SQL Map最大的优点在于它简单易学。要使用SQL Map,只要熟悉Java Bean,XML和SQL,就能使您...

    iBATIS实战

    3.6.1 SQL Map配置文件 54 3.6.2 properties元素 55 3.6.3 settings元素 56 3.6.4 typeAlias元素 58 3.6.5 transactionManager元素 60 3.6.6 typeHandler元素 61 3.6.7 sqlMap元素 61 3.7 小结 62 第4章 使用已映射...

    ibatis开发指南(中文版)

    SQL Map使用简单的XML配置文件将Java Bean映射成SQL语句,对比其他的数据库持续层和ORM框架(如JDO的实现,Hibernate等),SQL Map最大的优点在于它简单易学。要使用SQL Map,只要熟悉Java Bean,XML和SQL,就能使您...

    iBATIS.rar

    SQL Map使用简单的XML配置文件将Java Bean映射成SQL语句,对比其他的数据库持续层和ORM框架(如JDO的实现,Hibernate等),SQL Map最大的优点在于它简单易学。要使用SQL Map,只要熟悉Java Bean,XML和SQL,就能使您...

    ibatis 开发指南

    SQL Map使用简单的XML配置文件将Java Bean映射成SQL语句,对比其他的数据库持续层和ORM框架(如JDO的实现,Hibernate等),SQL Map最大的优点在于它简单易学。要使用SQL Map,只要熟悉Java Bean,XML和SQL,就能使您...

    ibatis完整学习资料(含最新jar)

    SQL Map使用简单的XML配置文件将Java Bean映射成SQL语句,对比其他的数据库持续层和ORM框架(如JDO的实现,Hibernate等),SQL Map最大的优点在于它简单易学。要使用SQL Map,只要熟悉Java Bean,XML和SQL,就能使您...

    spring4.3.2参考文档(英文)

    Spring ORM:Spring 框架插入了若干个 ORM 框架,从而提供了 ORM 的对象关系工具,其中包括 JDO、Hibernate 和 iBatis SQL Map。所有这些都遵从 Spring 的通用事务和 DAO 异常层次结构。 Spring Web 模块:Web 上...

    springmybatis

    1. 从配置文件(通常是XML配置文件中)得到 sessionfactory. 2. 由sessionfactory 产生 session 3. 在session 中完成对数据的增删改查和事务提交等. 4. 在用完之后关闭session 。 5. 在java 对象和 数据库之间有做...

    Step By Step写测试(书签版).pdf

    5.15 Martini项目下的ibatis文件配置 5.16 数据库测试FAQ 6 Spring和SQL跟踪 6.1 @Tracer 6.2 FAQ 7 JTester插件的使用 7.1 插件功能 7.2 插件安装 7.3 录制变量的功能 7.4 dbFit插件编辑功能 7.5 从数据库中直接拖...

    Spring面试题

    ☆ Spring ORM:Spring 框架插入了若干个 ORM 框架,从而提供了 ORM 的对象关系工具,其中包括 JDO、Hibernate 和 iBatis SQL Map。所有这些都遵从 Spring 的通用事务和 DAO 异常层次结构。 ☆ Spring Web 模块:...

    spring in action英文版

     4.6.1 配置SQL Map  4.6.2 使用SqlMapClientTemplate  4.7 Spring和OJB  4.8 小结  第5章 事务管理  5.1 理解事务  5.1.1 仅用4个词解释事务  5.1.2 理解Spring对事务管理的支持  5.1.3 ...

    Spring-Reference_zh_CN(Spring中文参考手册)

    12.5.3. iBATIS SQL Maps 2.x 12.5.3.1. 创建SqlMapClient 12.5.3.2. 使用 SqlMapClientTemplate 和 SqlMapClientDaoSupport 12.5.3.3. 基于原生的iBATIS API的DAO实现 12.6. JPA 12.6.1. 在Spring环境中建立JPA ...

    最新Java面试宝典pdf版

    给一个 Bean 的 message 属性, 字符串类型, 注入值为 "Hello" 的 XML 配置文件该怎么写? 125 19、Jdo是什么? 125 20、什么是spring的IOC AOP 126 21、STRUTS的工作流程! 126 22、spring 与EJB的区别!! 126 八. ...

    Java面试宝典2010版

    给一个 Bean 的 message 属性, 字符串类型, 注入值为 "Hello" 的 XML 配置文件该怎么写? 19、Jdo是什么? 20、什么是spring的IOC AOP 21、STRUTS的工作流程! 22、spring 与EJB的区别!! 八. 软件工程与设计...

Global site tag (gtag.js) - Google Analytics