在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.1:sql_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(用来管理事务)外,还提供了JTA和EXTERNAL两个事务管理器。其中JTA将提供全局的事务管理,EXTERNAL则可以让程序员自行管理事务。
<transactionManager>元素的子元素<dataSource>为JDBC数据源设置了一系列参数,这些参数将被用于连接数据库。在SQL Map架构中提供了三种JDBC连接的方式,可以利用type属性来设置这三种方式:
q SimpleDataSourceFactory是IBatis框架提供的基本连接池的实现,当容器没有提供数据源时可以选择它。SimpleDataSourceFactory的别名已经由IBatis框架所定义,名为“SIMPLE”。本例就是使用SimpleDataSourceFactory作为连接池。
q DbcpDataSourceFactory是IBatis框架使用DBCP连接池所提供的服务。在Web容器中经常会使用它,在第三章的完整示例中曾经使用它来配置Struts框架部分DAO的JDBC连接池。DbcpDataSourceFactory的别名已经由IBatis框架所定义,名为“DBCP”。
q JndiDataSourceFactory是IBatis框架提供的对JNDI命名服务的支持,它可以在容器中利用JNDI从上下文中找到连接池的实现。在介绍EJB的配置以及Hibernate框架时,曾经将它作为在JBoss服务器中取得连接池的实现,在IBatis框架中是一样的道理。JndiDataSourceFactory的别名已经由IBatis框架所定义,名为“JNDI”。
本例中最后一个元素是<sqlMap>元素,利用属性resource来指定SQL Map映射文件的路径定义。SQL Map映射文件可以从classpath中得到,所以这个路径的定义是以classpath为根目录开始的。本例中没有定义其他路径,说明SQL Map映射文件将被直接放置在classpath路径下。SQL Map映射文件可以有多个。
相关推荐
SQL Map使用简单的XML配置文件将Java Bean映射成SQL语句,对比其他的数据库持续层和ORM框架(如JDO的实现,Hibernate等),SQL Map最大的优点在于它简单易学。要使用SQL Map,只要熟悉Java Bean,XML和SQL,就能使您...
SQL Map使用简单的XML配置文件将Java Bean映射成SQL语句,对比其他的数据库持续层和ORM框架(如JDO的实现,Hibernate等),SQL Map最大的优点在于它简单易学。要使用SQL Map,只要熟悉Java Bean,XML和SQL,就能使您...
SQL Map 使用简单的 XML 配置文件将 Java Bean 映射成 SQL 语句,对比其他的数据库持续层和 ORM 框架(如 JDO 的实现, Hibernate 等), SQL Map 最大的优点在于它简单易学。要使用 SQL Map,只要熟悉Java Bean, ...
SqlMap的配置是iBatis中应用的核心。这部分任务占据了iBatis开发的...Sql Map配置文件是iBatis配置的核心,从数据库连接到执行SQL时使用的sqlMap文件都是通过此文件中的配置提供给框架的,它通常命名为sqlMapConfig.xml
SQL Map使用简单的XML配置文件将Java Bean映射成SQL语句,对比其他的数据库持续层和ORM框架(如JDO的实现,Hibernate等),SQL Map最大的优点在于它简单易学。要使用SQL Map,只要熟悉Java Bean,XML和SQL,就能使您...
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章 使用已映射...
SQL Map使用简单的XML配置文件将Java Bean映射成SQL语句,对比其他的数据库持续层和ORM框架(如JDO的实现,Hibernate等),SQL Map最大的优点在于它简单易学。要使用SQL Map,只要熟悉Java Bean,XML和SQL,就能使您...
SQL Map使用简单的XML配置文件将Java Bean映射成SQL语句,对比其他的数据库持续层和ORM框架(如JDO的实现,Hibernate等),SQL Map最大的优点在于它简单易学。要使用SQL Map,只要熟悉Java Bean,XML和SQL,就能使您...
SQL Map使用简单的XML配置文件将Java Bean映射成SQL语句,对比其他的数据库持续层和ORM框架(如JDO的实现,Hibernate等),SQL Map最大的优点在于它简单易学。要使用SQL Map,只要熟悉Java Bean,XML和SQL,就能使您...
SQL Map使用简单的XML配置文件将Java Bean映射成SQL语句,对比其他的数据库持续层和ORM框架(如JDO的实现,Hibernate等),SQL Map最大的优点在于它简单易学。要使用SQL Map,只要熟悉Java Bean,XML和SQL,就能使您...
Spring ORM:Spring 框架插入了若干个 ORM 框架,从而提供了 ORM 的对象关系工具,其中包括 JDO、Hibernate 和 iBatis SQL Map。所有这些都遵从 Spring 的通用事务和 DAO 异常层次结构。 Spring Web 模块:Web 上...
1. 从配置文件(通常是XML配置文件中)得到 sessionfactory. 2. 由sessionfactory 产生 session 3. 在session 中完成对数据的增删改查和事务提交等. 4. 在用完之后关闭session 。 5. 在java 对象和 数据库之间有做...
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 ORM:Spring 框架插入了若干个 ORM 框架,从而提供了 ORM 的对象关系工具,其中包括 JDO、Hibernate 和 iBatis SQL Map。所有这些都遵从 Spring 的通用事务和 DAO 异常层次结构。 ☆ Spring Web 模块:...
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 ...
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 ...
给一个 Bean 的 message 属性, 字符串类型, 注入值为 "Hello" 的 XML 配置文件该怎么写? 125 19、Jdo是什么? 125 20、什么是spring的IOC AOP 126 21、STRUTS的工作流程! 126 22、spring 与EJB的区别!! 126 八. ...
给一个 Bean 的 message 属性, 字符串类型, 注入值为 "Hello" 的 XML 配置文件该怎么写? 19、Jdo是什么? 20、什么是spring的IOC AOP 21、STRUTS的工作流程! 22、spring 与EJB的区别!! 八. 软件工程与设计...