iBatis的连接设置
持久层中间件iBatis连接数据库的方式有3种,连接数据库的方式是JDBC,可以通过在XML文件中配置数据库连接,也可以在properties文件中配置。下面列出transactionManager的type为JDBC的3种连接配置。
dataSource的type为SIMPLE的连接配置
以下是配置数据库连接参数的properties文件sql-map-config.properties的内容:
## SimpleDataSource properties
## Use only if useSimpleConfiguration=true
# DMDBMS
SimpleDriver=dm.jdbc.driver.DmDriver
SimpleUrl=jdbc:dm://localhost:12345/SYSTEM
SimpleUsername=SYSDBA
SimplePassword=SYSDBA
以下是配置文件sql-map-config.xml的内容:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE sqlMapConfig
PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<properties resource="res/config/sql-map-config.properties" />
<settings cacheModelsEnabled="true" enhancementEnabled="true"
maxSessions="64" maxTransactions="20" maxRequests="128"
useStatementNamespaces="true" />
<transactionManager type="JDBC">
<dataSource type="SIMPLE">
<property value="$" name="JDBC.Driver" />
<property value="$" name="JDBC.ConnectionURL" />
<property value="$" name="JDBC.Username" />
<property value="$" name="JDBC.Password" />
<property value="15" name="Pool.MaximumActiveConnections" />
<property value="15" name="Pool.MaximumIdleConnections" />
<property value="1000" name="Pool.MaximumWait" />
</dataSource>
</transactionManager>
<sqlMap resource="res/sqlmap/User.xml" />
<sqlMap resource="res/sqlmap/Role.xml" />
<sqlMap resource="res/sqlmap/Permit.xml" />
</sqlMapConfig>
说明:如果要优化数据库连接池,可以在sql-map-config.xml修改相关参数:
Pool.MaximumActiveConnections 最大连接数
Pool.MaximumIdleConnections 允许的挂起(idle)连接数
Pool.MaximumWait 最长等待的时间
dataSource的type为DHCP的连接配置
<transactionManager type="JDBC">
<dataSource type="DBCP">
<property name="JDBC.Driver" value="$"/>
<property name="JDBC.ConnectionURL" value="$"/>
<property name="JDBC.Username" value="$"/>
<property name="JDBC.Password" value="$"/>
<!-- Optional properties below -->
<property name="Pool.MaximumIdleConnections" value="5"/>
<property name="Pool.MaximumWait" value="60000"/>
<!-- Use of the validation query can be problematic.
If you have difficulty, try without it. -->
<property name="Pool.ValidationQuery" value="select now"/>
<property name="Pool.LogAbandoned" value="false"/>
<property name="Pool.RemoveAbandoned" value="false"/>
<property name="Pool.RemoveAbandonedTimeout" value="50000"/>
</datasource>
</transactionManager>
说明:上面的$等连接信息定义在另外一个properties文件或XML文件中,同dataSource的type为SIMPLE的连接配置。
dataSource的type为JNDI的连接配置
<transactionManager type="JDBC" >
<dataSource type="JNDI">
<property name="DataSource" value="java:comp/env/jdbc/jpetstore"/>
</dataSource>
</transactionManager>
说明:前提是在应用服务器中配置了JNDI为jdbc/jpetstore的配置。
<bean id="dataSourceA" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close"> <property name="automaticTestTable" value="CONNECTION_TEST" /> <property name="testConnectionOnCheckout" value="true" />
<property name="acquireRetryAttempts" value="1" /> <property name="driverClass" value="org.apache.derby.jdbc.ClientDriver" /> <property name="jdbcUrl" value="jdbc:derby://localhost:1527/d:/work/lms" /> <property name="user" value="someUser" /> <property name="password" value="somePassword" /> </bean> <bean id="dataSourceB" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close"> <property name="automaticTestTable" value="CONNECTION_TEST" /> <property name="testConnectionOnCheckout" value="true" /> <property name="acquireRetryAttempts" value="1" /> <property name="driverClass" value="com.ibm.as400.access.AS400JDBCDriver" /> <property name="jdbcUrl" value="jdbc:as400://192.168.85.1.1;driver=native;naming=system;errors=full;prompt=false;libraries=*LIBL,SOME_LIB,OTHER_LIB; transaction isolation=read committed" /> <property name="user" value="someUser" /> <property name="password" value="somePassword" />
分享到:
相关推荐
本篇文章将详细讲解如何在iBatis中集成c3p0数据库连接池,以及c3p0的基本配置和使用。 iBatis是一个轻量级的持久层框架,它允许开发者将SQL语句直接写在配置文件中,方便灵活。而c3p0则是一个开源的JDBC连接池,它...
标题 "ibatis-2.3.0.677增加对c3p0连接池的支持" 描述了MyBatis框架的一个更新,其中包含了对c3p0数据库连接池的集成。MyBatis是一个轻量级的Java持久层框架,它允许开发者将SQL语句直接嵌入到Java代码中,提供了比...
总结:这个集成框架结合了WebWork的轻量级MVC、iBatis的灵活数据库操作、Spring的全面企业级服务以及C3P0的数据库连接池,为Java开发提供了强大的工具集合,能够构建出高效、稳定且易于维护的企业应用。通过深入理解...
在这个“osgi数据库连接demo”中,我们将探讨如何在OSGi环境中配置C3P0作为Oracle数据库连接池,并集成iBATIS作为数据访问层。 首先,C3P0是一个开源的JDBC连接池,它提供了一些额外的功能,如自动管理数据库连接、...
与C3P0、DBCP、HikariCP等其他连接池相比,Proxool在小型项目或测试环境中表现出色,尤其适合那些对资源管理和性能调整有特定需求的场景。 **二、Proxool的工作原理** Proxool维护了一个连接池,当应用程序需要...
Spring+IbatIS项目,在案例项目中不只是对CURD的操作,主要是在配置文件中介绍了怎么配置链接迟,这个项目使用的是C3P0连接池,相应的还有.txt文件分析。部署到eclipse或者是myeclipse中修改jdbc.properties文件就...
可以使用Apache的DBCP或C3P0等连接池实现,或者使用Spring的AbstractDataSource类。 4. **SqlSessionFactory配置**: 创建SqlSessionFactoryBean,它会根据配置文件(如`mybatis-config.xml`)创建...
iBatis本身并不包含数据库连接池,但可以与常见的数据库连接池如C3P0、DBCP或HikariCP等配合使用。数据库连接池负责管理数据库连接的创建、复用和释放,提高了系统的性能和资源利用率。 四、iBatis的映射机制 ...
4. **连接池**:C3P0 是一个开源的 JDBC 连接池,它实现了数据源和 JNDI 绑定,提供了性能优化功能。在整合中,我们需要配置 C3P0 数据源,以便为应用程序提供高效的数据库连接管理。 5. **配置整合**:在 ...
使用C3P0连接池配置,如示例所示,通过属性占位符 `${jdbc.*}` 来引用`.properties`文件中的值: ```xml <!-- C3P0 数据源配置 --> <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">...
4. **连接池管理**:Ibatis可以与各种连接池(如C3P0、Druid、HikariCP等)集成,提高数据库连接的复用性和性能。 综上所述,`ibatis+oracle`实例展示了如何利用Ibatis的灵活性和Oracle的强大功能进行数据库操作。...
5. **数据库连接**:配置数据库连接池,如C3P0或DBCP,并在iBatis的配置文件中指定数据源。 6. **测试与调试**:编写JUnit测试用例验证各层功能,确保正常工作。 通过这样的配置,开发者可以利用SSI框架快速开发出...
3. 配置数据源:在beans.xml中配置DataSource,如使用DBCP或C3P0连接池。 【iBatis配置】 1. 创建SqlMapConfig.xml,配置iBatis的基本属性,数据库连接信息,以及映射文件的位置。 2. 编写Mapper接口和XML映射...
3. commons-dbcp.jar 或 c3p0.jar:这些是数据库连接池的实现,用于高效管理数据库连接。 4. mybatis-spring.jar:这是Spring与iBatis之间的桥梁,提供了将iBatis SqlSessionTemplate和SqlSessionFactoryBean集成到...
此外,还使用了 C3P0 作为数据库连接池,这是一种性能优异且易于配置的连接池解决方案。 ##### 3. iBatis 配置详解 iBatis 的配置需要特别注意,因为这关系到 SQL 映射文件的加载以及后续的数据操作。具体的配置...
例如,它可以与C3P0、DBCP等连接池配合使用。 4. 参数映射与结果映射:Ibatis提供了强大的参数映射和结果映射机制,能够自动将Java对象与SQL语句中的参数和查询结果进行匹配。通过`<parameterMap>`和`<resultMap>`...
`c3p0.properties`则是针对C3P0连接池的配置,如初始化大小、最大连接数、超时时间等,它提高了数据库连接的效率和性能。 接下来是`applicationContext.xml`,这是Spring的配置文件。在这里,我们需要配置...
c3p0 连接池参数包括最大活动连接数、最大空闲时间、自动提交等,用于优化数据库连接的管理和性能。 8. **Hibernate 配置**:虽然主要讨论的是 Axis2、iBatis 和 Spring,但文件中还提到了 Hibernate 的配置,如 ...
针对不同数据库,可能需要配置不同的连接池实现,如 HikariCP、C3P0 或者 DBCP。 5. **驱动程序管理**:在项目中,需要为每种数据库添加对应的 JDBC 驱动依赖,并在配置中指定正确的驱动类名。 6. **事务管理**:...
6. **连接Oracle**:配置数据库连接池,如C3P0或Druid,设置数据库URL、用户名和密码。 7. **业务逻辑开发**:在Action中调用Service,Service调用DAO,通过iBatis执行SQL操作。 8. **测试与调试**:使用JUnit进行...