如果不能从JNDI获得数据源,那么下一个选择应该是在Spring里直接配置一个数据源连接池。可以使用Jakarta Commons database Connection Pools (DBCP) 项目。
commons-dbcp-1.2.2.jar
commons-pool-1.5.4.jar
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
<property name="url" value="${DB_URL}" />
<property name="username" value="${DB_USERNAME}" />
<property name="password" value="${DB_PASSWORD}" />
<property name="initialSize" value="5" />
<property name="maxActive" value="20" />
</bean>
DriverManagerDataSource:在每个连接请求时都新建一个连接。与DBCP的BasicDataSource不同,DriverManagerDataSource提供的连接没有进行池管理。
SingleConnectionDataSource:在每个连接请求时都返回同一个连接。虽然它不同严格意义上的池管理数据源,但我们可以把它看做只有一个连接的池。
SingleConnectionDataSource只是用一个数据库连接,所以不适合用于多线程程序。而DriverManagerDataSource虽然能够支持多线程,但它会在每次连接请求时都建立一个连接,则是以性能为代价的。由于这些限制,我们强烈建议应该使用数据库连接池。它们只用于测试。
分享到:
相关推荐
利用aop进行动态的数据源切换
赠送jar包:dynamic-datasource-spring-boot-starter-3.4.1.jar; 赠送原API文档:dynamic-datasource-spring-boot-starter-3.4.1-javadoc.jar; 赠送源代码:dynamic-datasource-spring-boot-starter-3.4.1-sources...
赠送jar包:dynamic-datasource-spring-boot-starter-3.4.1.jar; 赠送原API文档:dynamic-datasource-spring-boot-starter-3.4.1-javadoc.jar; 赠送源代码:dynamic-datasource-spring-boot-starter-3.4.1-sources...
该项目采用标签形式对Datasource进行注入将Datasource组件交给容器进行统一管理
一个实例工程,讲解的是怎么在spring中通过dbcp的方式配置datasource
赠送jar包:spring-cloud-alibaba-sentinel-datasource-2021.1.jar; 赠送原API文档:spring-cloud-alibaba-sentinel-datasource-2021.1-javadoc.jar; 赠送源代码:spring-cloud-alibaba-sentinel-datasource-2021....
NULL 博文链接:https://cdxs2.iteye.com/blog/1942266
oesoft_spring_datasource
赠送jar包:spring-cloud-alibaba-sentinel-datasource-2021.1.jar; 赠送原API文档:spring-cloud-alibaba-sentinel-datasource-2021.1-javadoc.jar; 赠送源代码:spring-cloud-alibaba-sentinel-datasource-2021....
dynamic-datasource-spring-boot-starter-3.2.0.jar
Dynamic-Datasource (opens new window)- 基于 SpringBoot 的多数据源组件,功能强悍,支持 Seata 分布式事务。 支持 数据源分组 ,适用于多种场景 纯粹多库 读写分离 一主多从 混合模式。 支持数据库敏感配置信息 ...
多数据源调整和修改,支持数据源的切换等功能
Dynamic-Datasource (opens new window)- 基于 SpringBoot 的多数据源组件,功能强悍,支持 Seata 分布式事务。 支持 数据源分组 ,适用于多种场景 纯粹多库 读写分离 一主多从 混合模式。 支持数据库敏感配置信息 ...
spring+druid+AtomikosDataSource实现多数据源切换及分布式事务控制
NULL 博文链接:https://yunzhongxia.iteye.com/blog/615415
spring.datasource.db1.url=jdbc:mysql://192.168.1.1:3306/db1?useUnicode=true&characterEncoding=utf-8&useSSL=false spring.datasource.db1.username=root spring.datasource.db1.password=123 spring....
能够使用Spring Boot提供的@ConfigurationProperties ( spring.datasource.hikari.* , spring.datasource.dbcp2.* ) 通过部署属性decorator.datasource.enabled=true/false禁用装饰 通过spring属性applica
spring mvc配置datasource数据源的三种方式,对spring的数据库连接源配置,有很大帮助,使你更加准确地了解数据源、连接池的实际使用方法
基于Spring实现的动态数据源框架使用方法如下:配置文件在springboot的配置文件中配置多个数据源其中prefix = "spring.slavedatasource" 的配置文件为从库,datasource为主库spring.datasource.url=jdbc:mysql://...
1.8 Spring Boot datasource - mysql 1.9 JPA - Hibernate 1.10 使用JPA保存数据 1.11 使用JdbcTemplate 1.12 Spring Boot修改端口号 1.13 Spring Boot配置ContextPath 1.14 Spring Boot改变JDK编译版本 1.15 处理...