一 ORACLE
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
<property name="url" value="jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.101)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=orcl)(SERVER=DEDICATED)))" />
<property name="username" value="rootl" />
<property name="password" value="1234" />
</bean>
二 DB2
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="com.ibm.db2.jdbc.app.DB2Driver" />
<property name="url" value="jdbc:db2:thin:@localhost:5000/testDB" />
<property name="username" value="rootl" />
<property name="password" value="1234" />
</bean>
三 SQL Server
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="com.microsoft.jdbc.sqlserver.SQLServerDriver" />
<property name="url" value="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName = testDB" />
<property name="username" value="rootl" />
<property name="password" value="1234" />
</bean>
三 MySQL
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="org.postgresql.Driver" />
<property name="url" value="jdbc:postgresql://localhost/ testDB" />
<property name="username" value="rootl" />
<property name="password" value="1234" />
</bean>
org.apache.commons.dbcp.BasicDataSource 需要commons-pool.jar,commons-dbcp-1.2.2.jar,commons-collections-3.2.jar三个JAR包
---------------------------------------------------------------------------------
Spring配置文件中数据库配置
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="placeholderConfig"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location">
<value>classpath:init.properties</value>
</property>
</bean>
<!-- bean id="dataSource"
class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName">
<value>${datasource.jndiName}</value>
</property>
</bean-->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close" dependency-check="none">
<property name="driverClass">
<value>${datasource.driverClassName}</value>
</property>
<property name="jdbcUrl">
<value>${datasource.url}</value>
</property>
<property name="user">
<value>${datasource.username}</value>
</property>
<property name="password">
<value>${datasource.password}</value>
</property>
<property name="acquireIncrement">
<value>${c3p0.acquireIncrement}</value>
</property>
<property name="initialPoolSize">
<value>${c3p0.initialPoolSize}</value>
</property>
<property name="minPoolSize">
<value>${c3p0.minPoolSize}</value>
</property>
<property name="maxPoolSize">
<value>${c3p0.maxPoolSize}</value>
</property>
<property name="maxIdleTime">
<value>${c3p0.maxIdleTime}</value>
</property>
<property name="idleConnectionTestPeriod">
<value>${c3p0.idleConnectionTestPeriod}</value>
</property>
<property name="maxStatements">
<value>${c3p0.maxStatements}</value>
</property>
<property name="numHelperThreads">
<value>${c3p0.numHelperThreads}</value>
</property>
</bean>
<bean id="Hibernate3SessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref local="dataSource" />
</property>
<property name="mappingResources">
<list>
<value>com/hwtx/hibernate/hbm/Login.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
${hibernate.dialect}
</prop>
<prop key="hibernate.show_sql">
${hibernate.show_sql}
</prop>
<prop key="hibernate.jdbc.fetch_size">
${hibernate.jdbc.fetch_size}
</prop>
<prop key="hibernate.jdbc.batch_size">
${hibernate.jdbc.batch_size}
</prop>
<!-- prop key="hibernate.query.factory_class">
${hibernate.query.factory_class}
</prop-->
</props>
</property>
</bean>
<bean id="transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory">
<ref local="Hibernate3SessionFactory" />
</property>
</bean>
<bean id="jdbcExceptionTranslator" class="org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator">
<property name="dataSource">
<ref bean="dataSource" />
</property>
</bean>
<bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
<property name="sessionFactory">
<ref bean="Hibernate3SessionFactory" />
</property>
<property name="jdbcExceptionTranslator">
<ref bean="jdbcExceptionTranslator" />
</property>
</bean>
<bean id="userDAOProxy" abstract="true" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="transactionManager">
<ref bean="transactionManager" />
</property>
<property name="transactionAttributes">
<props>
<prop key="save*">PROPAGATION_REQUIRED</prop>
<prop key="update*">PROPAGATION_REQUIRED</prop>
<prop key="find*">PROPAGATION_REQUIRED</prop>
<prop key="get*">PROPAGATION_REQUIRED</prop>
<prop key="remove*">PROPAGATION_REQUIRED</prop>
<prop key="del*">PROPAGATION_REQUIRED</prop>
<prop key="*">PROPAGATION_REQUIRED</prop>
</props>
</property>
</bean>
<bean id="loginDao" class="com.hwtx.login.LoginDaoImp">
<property name="sessionFactory">
<ref local="Hibernate3SessionFactory" />
</property>
</bean>
<bean id="userDao" class="com.hwtx.user.UserDaoImp">
<property name="sessionFactory">
<ref local="Hibernate3SessionFactory" />
</property>
</bean>
<bean name="/userAction" class="com.hwtx.struts.action.UserAction" >
<property name="userDao">
<ref bean="userDao" />
</property>
</bean>
<bean name="/loginAction" class="com.hwtx.struts.action.LoginAction" >
<property name="loginDao">
<ref bean="loginDao" />
</property>
</bean>
</beans>
init.properties文件
datasource.type=mysql
datasource.driverClassName=com.mysql.jdbc.Driver
datasource.url=jdbc:mysql://localhost:3306/login?useUnicode=true&characterEncoding=UTF-8
datasource.username=root
datasource.password=123
datasource.maxActive=10
datasource.maxIdle=2
datasource.maxWait=120000
datasource.whenExhaustedAction=1
datasource.validationQuery=select 1 from dual
datasource.testOnBorrow=true
datasource.testOnReturn=false
c3p0.acquireIncrement=3
c3p0.initialPoolSize=3
c3p0.idleConnectionTestPeriod=900
c3p0.minPoolSize=2
c3p0.maxPoolSize=50
c3p0.maxStatements=100
c3p0.numHelperThreads=10
c3p0.maxIdleTime=600
hibernate.dialect=org.hibernate.dialect.MySQLInnoDBDialect
#hibernate.dialect=org.hibernate.dialect.MySQLMyISAMDialect
#hibernate.dialect=org.hibernate.dialect.MySQLDialect
hibernate.jdbc.batch_size=25
hibernate.jdbc.fetch_size=50
hibernate.show_sql=true
hibernate.connection.release_mode=after_transaction
#bbscs.isloadconfig=false
#bbscs.safePath=C:/safe/
#cache.config=oscache.properties
#cacheup.config=oscache_up.properties
#cachefl.config=oscache_fl.properties
------------------------------------------------------------------------------------
引用 Spring在第三方依赖包中包含了两个数据源的实现类包,其一是Apache的DBCP,其二是 C3P0。可以在Spring配置文件中利用这两者中任何一个配置数据源。
DBCP数据源方式:
DBCP类包位于 /lib/jakarta-commons/commons-dbcp.jar,DBCP是一个依赖 Jakarta commons-pool对象池机制的数据库连接池,所以在类路径下还必须包括/lib/jakarta- commons/commons-pool.jar。下面是使用DBCP配置MySql数据源的配置片断:
- <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
- destroy-method="close">
- <property name="driverClassName" value="com.mysql.jdbc.Driver" />
- <property name="url" value="jdbc:mysql://localhost:3309/sampledb" />
- <property name="username" value="root" />
- <property name="password" value="1234" />
- </bean>
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="com.mysql.jdbc.Driver" /> <property name="url" value="jdbc:mysql://localhost:3309/sampledb" /> <property name="username" value="root" /> <property name="password" value="1234" /> </bean>
BasicDataSource提供了close()方法关闭数据源,所以必须设定destroy-method=”close”属性, 以便Spring容器关闭时,数据源能够正常关闭。除以上必须的数据源属性外,还有一些常用的属性:
- defaultAutoCommit:设置从数据源中返回的连接是否采用自动提交机制,默认值为 true;
- defaultReadOnly:设置数据源是否仅能执行只读操作, 默认值为 false;
- maxActive:最大连接数据库连接数,设置为0时,表示没有限制;
- maxIdle:最大等待连接中的数量,设置为0时,表示没有限制;
- maxWait:最大等待秒数,单位为毫秒, 超过时间会报出错误信息;
- validationQuery:用于验证连接是否成功的查询SQL语句,SQL语句必须至少要返回一行数据, 如你可以简单地设置为:“select count(*) from user”;
- removeAbandoned:是否自我中断,默认是 false ;
- removeAbandonedTimeout:几秒后数据连接会自动断开,在removeAbandoned为true,提供该值;
- logAbandoned:是否记录中断事件, 默认为 false;
相关推荐
本文将详细探讨"Spring数据库连接等配置加密"这一主题。 首先,我们来看`dbconfig.properties`文件,这是Spring项目中常见的用于存储数据库连接配置的文件。通常,这个文件会包含如下内容: ``` # 数据库连接配置 ...
使用以上配置后,可以使用 Spring Boot 的测试工具来测试数据库连接是否正常。例如,可以使用 Spring Boot 的 `JdbcTemplate` 来执行一个简单的查询操作: ```java @RestController public class ...
在现代企业级应用开发中,Spring框架以其简洁的设计和强大的功能成为了后端开发的首选。数据库作为应用的核心组件之一,其连接配置的合理性直接...合理的数据库连接配置不仅可以提高应用的性能,还可以简化开发工作。
为了在SpringCloud服务中使用这个数据库连接,你可能还需要配置Ribbon或Feign客户端,以在微服务间进行数据交互。Ribbon是客户端负载均衡器,Feign是一个声明式HTTP客户端。配置它们可以使你的服务通过服务名而不是...
数据库连接配置 在 dataSource 中,我们定义了四个属性:driverClassName、url、username 和 password。这些属性用于配置数据库连接。driverClassName 指定了数据库驱动程序的类名,url 指定了数据库的连接 URL,...
在Spring中配置数据库连接池,通常需要在配置文件(如`applicationContext.xml`)中添加相应的bean定义。例如,如果使用HikariCP,配置如下: ```xml ``` 在上述配置中,我们指定了数据源类型...
下面我们将深入探讨SSM框架整合以及如何进行数据库连接配置。 **Spring框架** Spring是Java开发中的一个核心框架,它提供了依赖注入(DI)和面向切面编程(AOP)功能,使得代码更加模块化,易于测试和维护。在SSM中...
本文将详细介绍如何在Java项目中配置数据库连接信息,包括使用JDBC、连接池技术、配置文件管理、环境变量以及Spring框架的数据库连接配置。 数据库连接配置是Java项目成功的关键。通过本文的详细介绍,读者应该能够...
同时,项目结构应包含Spring的配置文件(如`applicationContext.xml`)和数据库连接相关的bean定义。此外,确保数据库服务器运行正常,连接参数正确无误。 总结来说,这个"spring连接数据库实例"主要涵盖了Spring...
spring配置数据库文件,连接数据库的一写配置文件
- `BasicDataSource`类来自Apache Commons DBCP库,它是一个连接池实现,可以高效管理数据库连接。`<bean>`标签定义了一个名为`dataSource`的bean,它的类型是`org.apache.commons.dbcp.BasicDataSource`。 - `...
spring mvc jdbc 连接数据库配置说明
4. **配置Bean**:将自定义的RoutingDataSource作为Spring的Bean注册,这样其他需要数据库连接的地方就可以直接注入这个Bean,而无需关心具体连接的是哪个数据库。 5. **测试与验证**:编写测试用例,确保在不同...
Spring框架提供了多种配置数据库连接池的方式,其中C3P0是一种广泛使用的开源连接池实现。本文将详细解析一个具体的Spring配置示例,通过分析`applicationContext.xml`文件中的配置项,帮助读者理解如何有效地配置C3...
在Spring框架中,整合数据库连接是开发Web应用的常见任务,它提供了多种方式来管理数据库连接池,确保高效、稳定的数据交互。以下是Spring整合数据库连接的三种主要方式:DBCP、C3P0和Proxool,以及它们各自的特点和...
为了优化性能,数据库连接池会根据预设的配置动态调整连接池大小,如最大连接数、最小连接数、空闲超时时间等。同时,它还提供了一些健康检查和监控功能,以便开发人员能够实时了解连接池的状态,及时发现并解决问题...
在Spring框架中,使用C3P0可以提高数据库连接的效率,避免频繁创建和关闭连接的开销。C3P0提供了许多配置参数,如最小连接数、最大连接数、测试连接的间隔时间等,以适应不同应用的需求和性能优化。 在"SpringIOC...
在Spring框架中,Spring JDBC是连接数据库的重要模块,它提供了对JDBC的抽象层,使得开发者可以更加方便、高效地进行数据库操作。本教程将详细讲解如何在Spring Boot项目中配置Spring JDBC,以便进行数据库开发。 ...
在Spring MVC应用中,数据库连接池的管理是一个关键部分,其中Druid是一个广泛使用的高性能连接池组件。在标准配置下,Druid允许开发者通过配置文件(如`druid.properties`或`application.properties`)来设置数据库...