iBatis SqlMap文件配置

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

一个sqlMapConfig.xml的例子:







  

  


  
  
    
      
      
      
      
    

  
  
   


下面介绍下配置文件中的元素

1.

它在主配置文件外提供一个键/值对应表,是一个properties文件,它可以让sqlmap配置文件更加灵活。上面例子中的connection-configs.properties文件的内容:

driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/cyh
username=root
password=root
中间的键值就在运行时替换了了下面的元素下的中${driver}等值。

2.>

全局配置选项,有以下属性:

lazyLoadingEnabled:延迟加载 ,true或者false,默认true

cacheModelsEnabled:
高度缓存,将最近使用过的数据存放在内存中 ,true或者false

enhancementEnabled:
是否使用cglib中已优化的类来提高延迟加载的性能,true或者false ,默认true

useStatementNamespaces
 在使用已映射语句时,是否使用限定名,true或者false ,默认false
假如有个为Acount的SQL映射,包括insert的映射语句。启用useStatementNamespaces时,需要使用Acount.insert来调用这条sql语句。
假如下有多个这样的配置文件,每个文件中的sql元素id都一样,
   
   
sqlMap1.xml:



 
......
sqlMap2.xml:



 
......

为了防止sql语句的id命名冲突,可以设置useStatementNamespaces参数为true,并且为每个sqlmap文件指定不同的命名空间。
sqlMap1.xml:




     
.....


.....
sqlMap2.xml:




     
.....


.....

下面3个参数已经废弃,可以不用考虑手动配置:
maxRequests
request:对数据库的一次SQL操作。默认值512

maxSessions:最大会话数
会话是一种线程级机制,用于跟踪一组相关事务和请求的信息,默认值128.

maxTransactions:
最大活动事务数,默认值32

3.<TypeAlias>
用于定义别名,可以通过它用简单的字符替代全限定类名。
iBatis框架为若干类型定义了别名。
一些常用的:
事务管理器:
JDBC替代com.ibatis.sqlmap.engine.transaction.jdbc.JdbcTransactionConfig
JTA, EXTERNAL和上面类似
数据类型:
string替代java.lang.String
hashmap替代java.util.HashMap
其他类似
数据源工厂类型:
SIMPLE替代com.ibatis.sqlmap.engine.datasource.SimpleDataSourceFactory
DBCP, JNDI和上面类似

4. >
用于处理事务,type属性用于指定事务管理器。(JDBC,JTA,EXTERNAL)
它的子元素:
指定DataSourceFactory实现类,iBatis用这个实现类来创建实际的DataSource,它有3个可选的属性:SIMPLE,DBCP,JNDI
SIMPLE:简单数据源工厂,用于配置内置有简单连接池的数据源,除了实际的jdbc驱动程序外,该数据源工厂需要的其他东西都包含在iBatis框架中。
DBCP:用于使用Jakarta Commons数据库连接池实现。
JNDI:用于允许iBatis共享通过JNDI定位的基于容器的数据源。
的子元素:,它定义了数据库连接的配置

5.
类型处理器,将数据从数据库的类型转换为应用程序中的数据类型。

6.
指定SQL映射文件的位置
元素有2个属性,resource和url
resource相对于类路径根目录的路径。

你可能感兴趣的:(Java,Web)