5.IBatis框架的SQL Map配置文件

转载 2007年09月24日 13:37:00
    在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 Map XML配置文件

SQL Map使用XML配置文件统一配置不同的属性,包括DataSource的详细配置信息,SQL Map和其他可选属性,如线程管理等。 以下是SQL Map配置文件的一个例子: SqlMapCo...

ibatis和myBatis打印sql语句的log4j配置文件

ibatis:log4j.rootLogger=debug, stdout, logfilelog4j.logger.com.ibatis=DEBUGlog4j.logger.com.ibatis.c...

ibatis的sql配置文件--条件元素。

转自:http://blog.csdn.net/winy_lm/article/details/48177137 ibatis--条件元素: 下面要讲的内容在日常工作中经常用到,而...

IBatis ORM框架的总配置文件SqlMapConfig.xml 详细信息

PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN" "http://www.ibatis.com/dtd/sql-map-config-2.dtd"...

ibatis的sql配置文件sql.xml大于小于等于的写法

在ibatis的sql语句xml配置文件中,写sql语句会经常用到大于等于小于等于等等符号。网上搜罗了一些写法,大致有3种: 其实就是xml特殊符号,转义的方式。 < >...

ibatis中SQL映射配置文件中动态SQL语句语法

有些时候,sql语句where条件中,需要一些安全判断,例如按某一条件查询时如果传入的参数是空,此时查询出的结果很可能是空的,也许我们需要参数为空时,是查出全部的信息。使用Oracle的序列、mysq...

【开源.NET】轻量级内容管理框架Grissom.CMS(第三篇解析配置文件和数据以转换成 sql)

该篇是 Grissom.CMS 框架系列文章的第三篇, 主要介绍框架用到的核心库 EasyJsonToSql, 把标准的配置文件和数据结构解析成可执行的 sql。 该框架能实现自动化增删改查得益于 ...

【MyBatis框架】mapper配置文件-关于动态sql

动态sql 1.什么是动态sql mybatis核心 对sql语句进行灵活操作,通过表达式进行判断,对sql进行灵活拼接、组装。 2.需求 用户信息综合查询列表和用户信息查询列表总数这两个sta...

【MyBatis框架】mapper配置文件-关于动态sql

转载:http://blog.csdn.net/acmman/article/details/46581349 动态sql 1.什么是动态sql mybatis核心 对sql语句进行灵活操作...

【MyBatis框架】mapper配置文件-关于动态sql

动态sql 1.什么是动态sql mybatis核心 对sql语句进行灵活操作,通过表达式进行判断,对sql进行灵活拼接、组装。 2.需求 用户信息综合查询列表和用户信息查询列表总...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:5.IBatis框架的SQL Map配置文件
举报原因:
原因补充:

(最多只允许输入30个字)