Spring在第三方依赖包中包含了两个数据源的实现类包,其一是Apache的DBCP,其二是 C3P0。可以在Spring配置文件中利用这两者中任何一个配置数据源。
第一种配置: Apache的DBCP需要导入两个包: commons-pool.jar 和commons-dbcp.jar 配置代码如下
下面是根据资源文件配置数据源的 所以必须在classpath下面建立
dbConnection.properties资源文件 内容如下: jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://192.168.1.161/sanco
jdbc.username=sancoweb
jdbc.password=sancoweb
<!-- 读取配置文件利用org.springframework.beans.factory.config.PropertyPlaceholderConfigurer 注意id name都是已经定义好的-->
<bean id="propertyConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location">
<value>classpath:dbConnection.properties</value>
</property>
</bean>
<!-- 定义数据源 从配置文件中取出 驱动 连接字符串 用户名 密码 注意此时要导入几个包-->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" >
<property name="driverClassName">
<value>${jdbc.driverClassName}</value>
</property>
<property name="url">
<value>${jdbc.url}</value>
</property>
<property name="username">
<value>${jdbc.username}</value>
</property>
<property name="password">
<value>${jdbc.password}</value>
</property>
</bean>
如果不需要资源文件就直接可以通过:
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" >
<property name="driverClassName">
<value> com.mysql.jdbc.Driver</value>
</property>
<property name="url">
<value> jdbc:mysql://192.168.1.161/sanco</value>
</property>
<property name="username">
<value> sancoweb </value>
</property>
<property name="password">
<value> sancoweb </value>
</property>
</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;
第二种配置数据源的方式:
C3P0是一个开放源代码的JDBC数据源实现项目,它在lib目录中与Hibernate一起发布,实现了JDBC3和JDBC2扩展规范说明的Connection 和Statement 池。C3P0类包位于<SPRING_HOME>c3p0-0.9.0.4.jar。下面是使用C3P0配置一个Oracle数据源:
我已经将其放到了附件中!如果觉得有帮助 请下载
分享到:
相关推荐
spring 动态多数据源配置代码,本项目是maven项目,里面有完成的配资好的spring多数据源代码和配置文件。
spring数据源配置
spring动态数据源整合mybatis实现的分库分表操作。 分库分表对业务代码是透明的,只需要在配置文件分配分库模版即可动态的实现分库分表的增删改查操作。
spring配置JNDI数据源
spring 配置多数据源
连接MYSQL数据库,SPRING配置文件示例。
通过简单的demo实现SpingBoot多数据源配置并动态切换多数据源
一个springboot的多数据配置,从mapper到controller完整的一个业务流程
mybatis+spring实现动态切换数据源,修改数据源配置信息之后,直接运行test可进行测试
Spring 配置各种数据源Spring 配置各种数据源Spring 配置各种数据源Spring 配置各种数据源
请自行修改com/resources/datasource.properties中数据库配置,Demo中配置的两个数据源,一个是Mysql,一个是Oracle。 运行之前请自行建立数据库的表。
Spring 动态切换 数据源 可同事在多个数据源中切换
用SPRING管理数据源,数据库为oracle
Springcloud 多数库 多数据源整合,查询动态切换数据库
主要介绍了通过Spring Boot配置动态数据源访问多个数据库的实现代码,需要的朋友可以参考下
主要介绍了Spring3 整合MyBatis3 配置多数据源动态选择SqlSessionFactory详细教程,需要的朋友可以参考下
Spring多数据源配置,支持mysql、oracle等多个数据源同时存在的情况
使用注解配置实现Spring动态数据源切换,实现原理 1、自定义动态数据源类DynamicDataSource: 实现spring类AbstractRoutingDataSource的方法determineCurrentLookupKey 2、自定义Spring AOP类DataSourceAspect 3、...
阐述spring的数据源配置
-- 配置数据源 --> destroy-method="close"> <value>org.gjt.mm.mysql.Driver <value>jdbc:mysql://localhost:3306/demo <value>root <value>root </bean>