几种常用的Java数据源解决方案
Java中的数据源就是javax.sql.DataSource。DataSource的创建可以有不同的实现。
JNDI方式创建DataSource
以JNDI方式创建数据源首先要配置数据源的相关连接信息,也就是数据源连接池。该配置应该在Tomcat安装目录下的conf/context.xml文件中配置。其配置如下:
<Context>
……
<!-- MySql -->
<Resource name="jdbc/NutzDemo" auth="Container"
type="javax.sql.DataSource"maxActive="100" maxIdle="30"
maxWait="10000"username="root" password="root"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/cheng"/>
……
</Context>
然后,在程序中以JNDI的方式创建数据源,得到数据库连接已进行相应的操作。代码如下:
// 初始化JNDI上下文,创建DataSource对象
Context initContext = new InitialContext();
Context context = (Context)initContext.lookup("java:comp/env");
DataSourcedataSource = (DataSource)context.lookup("jdbc/NutzDemo");
Apache提供的简单连接池创建数据源
以这种方式创建数据源必须先准备两个jar文件:commons-dbcp.jar 和 commons-pool.jar。
以这种方式创建的数据源就不再是javax.sql.DataSource。DataSource了,而是org.apache.commons.dbcp.BasicDataSource。而且不再需要配置任何文件就可以直接使用。代码如下:
// 创建BasicDataSource对象
BasicDataSource ds = new BasicDataSource();
ds.setDriverClassName("com.mysql.jdbc.Driver");
ds.setUrl("jdbc:mysql://localhost:3306/cheng");
ds.setUsername("root");
ds.setPassword("root");
ds.setInitialSize(50);
ds.setMaxActive(100);
ds.setMaxIdle(30);
ds.setMaxWait(10000);
// 关闭数据源连接
ds.close();
C3P0方式创建数据源
使用C3P0方式创建数据源应该首先准备一个jar文件:c3p0-0.9.1.2.jar,将其放到web/lib目录下,就可以在项目中使用C3P0创建数据源,C3P0创建的数据源对象也不是DataSource对象,而是ComboPooledDataSource,代码如下:
// 创建ComboPooledDataSource对象
ComboPooledDataSource ds = new ComboPooledDataSource();
ds.setDriverClass("com.mysql.jdbc.Driver");
ds.setJdbcUrl("jdbc:mysql://localhost:3306/cheng");
ds.setUser("root");
ds.setPassword("root");
ds.setInitialPoolSize(50);
ds.setMaxPoolSize(100);
ds.setMaxIdleTime(10000);
Proxool方式创建数据源
应该准备的jar文件为:proxool-01.9.0RC3.jar,之后在项目中创建ProxoolDataSource对象,其代码如下:
// 创建ProxoolDataSource对象
ProxoolDataSource ds = new ProxoolDataSource();
ds.setDriver("com.mysql.jdbc.Driver");
ds.setDriverUrl("jdbc:mysql://localhost:3306/cheng");
ds.setUser("root");
ds.setPassword("root");
BoneCP方式创建数据源
BoneCP是一个快速高效,开源免费的Java数据库接池。
创作者称,BoneCP在性能上会完全超越所有主流的Java连接池。它可以帮你管理数据连接,让你的应用程序能更快速地访问数据库。比C3P0/DBCP(DataBaseconnection pool,数据库连接池)连接池快25倍。这个数据库连接池采用Google Collection作为内部的集合类框架,而且现在的版本已经很稳定。
要使用BoneCP,必须用到的jar文件有:
· bonecp-0.6.5.jar
· google-collections-1.0.jar
· slf4j-api-1.5.11.jar
· slf4j-log4j12-1.5.11.jar
·log4j-1.2.15.jar
在程序中创建BoneCPDataSource对象,代码如下:
// 创建BoneCPDataSource对象
BoneCPDataSource ds = new BoneCPDataSource();
ds.setDriverClass("com.mysql.jdbc.Driver");
ds.setJdbcUrl("jdbc:mysql://localhost:3306/cheng");
ds.setUsername("root");
ds.setPassword("root");
ds.setAcquireIncrement(1);
ds.setAcquireRetryDelay(10000);
ds.setIdleConnectionTestPeriod(100);
ds.setMinConnectionsPerPartition(2);
ds.setMaxConnectionsPerPartition(20);
ds.setPartitionCount(2);
分享到:
相关推荐
### 几种常用的Java数据源解决方案 在Java开发过程中,数据源(DataSource)扮演着非常重要的角色,它负责管理数据库连接资源,为应用程序提供高效、可靠的数据库访问支持。`javax.sql.DataSource`接口定义了标准的...
Spring Boot默认支持几种流行的数据库连接池,如HikariCP、Druid、Tomcat JDBC等。这些连接池都提供了高效的连接管理和资源优化。HikariCP以其高性能和低内存占用被广泛采用,而Druid则以其丰富的监控功能受到青睐。...
本配置示例将详细介绍如何在Spring Boot中整合MyBatis与Oracle数据库,并配置两个不同的数据源。 首先,我们需要理解数据源(DataSource)的概念。数据源是Java应用程序与数据库之间的桥梁,它负责管理数据库连接,...
在配置 Oracle RAC 集群数据源时,需要关注以下几个方面: (1)数据源 URL 的配置:数据源 URL 的配置是配置 Oracle RAC 集群数据源的关键。数据源 URL 应该包含 RAC 集群的所有节点,包括主机名、端口号、服务名...
### Struts框架中数据源的配置详解 #### 一、引言 在现代软件开发过程中,特别是企业级应用开发中,Struts框架被广泛应用于构建MIS系统等复杂的应用程序。Struts框架作为一种成熟的MVC架构实现,为开发者提供了...
WebSphere作为一款强大的企业级应用服务器,提供了一种高效且灵活的方式来配置数据源,以便应用程序能够与各种数据库系统进行通信。在这个过程中,我们需要关注以下几个关键知识点: 1. **数据源的概念**: 数据源...
常见的数据源连接池有以下几种: - C3P0:开源的JDBC连接池,提供了比JDBC更强大的功能,如自动检测死锁、自动重连等。 - DBCP:Apache的一个开源项目,基于Jakarta-pool实现,是Tomcat默认的数据源。 - HikariCP:...
配置多数据源在Spring Boot中主要涉及以下几个步骤: 1. 引入依赖:在`pom.xml`或`build.gradle`文件中添加Spring Boot的JDBC和数据源相关依赖。例如,如果你使用的是MySQL,可以添加如下Maven依赖: ```xml ...
在企业级应用开发中,动态数据源是一种常见需求,它允许程序在运行时根据不同的业务逻辑切换到不同的数据库。在本项目中,我们将探讨如何利用MyBatis与Spring框架实现动态切换数据源的功能。首先,我们需要理解...
本篇文章将详细介绍在Java中连接Oracle数据库的几种常见方法,以及相关的源码示例。 1. JDBC-ODBC桥连接: JDBC-ODBC桥是Java早期连接数据库的一种方式,它依赖于操作系统上的ODBC数据源。首先,你需要在系统中...
标题中的“ejb数据源配置文件”主要涉及到以下几个方面: 1. **数据库驱动**:EJB数据源配置首先要确定所使用的数据库类型,如MySQL、SQL Server或Oracle。每个数据库都有相应的JDBC驱动,比如MySQL的`...
数据源是 Java 中用于获取数据库连接的接口,它提供了一种方式来管理数据库连接池,包括创建、分配、回收和关闭数据库连接。在多数据源配置中,我们需要定义多个数据源,以便根据业务需求选择合适的数据库进行操作。...
配置数据源的步骤通常包括以下几步: 1. **选择连接池**:根据应用的需求和性能要求,选择合适的连接池实现。 2. **添加JDBC驱动**:确保你的项目类路径包含对应数据库的JDBC驱动JAR。 3. **配置数据源**:在应用...
Spring框架提供了一种灵活的方式来配置和管理多个数据源,使得这种需求变得简单易行。本文将详细介绍如何在Spring应用中配置多个数据源。 首先,我们来理解数据源(DataSource)的概念。数据源是Java中用于存储...
文章中提到了两种配置Tomcat数据源的方式,分别为方式一和方式二。 方式一步骤详解: - Step1:在Tomcat的安装目录下的conf/server.xml文件中添加Context元素,用于配置资源引用。这里通过添加一个Context元素来为...
2. 配置数据源:为每个数据源创建一个DataSource bean,使用Druid的配置类和属性配置不同的数据库连接。 3. 配置事务管理器:使用Atomikos的UserTransactionManager和JtaTransactionManager,注册到Spring Boot的...
在Spring中,多数据源配置通常涉及以下几个关键步骤: 1. **数据源配置**:创建多个DataSource对象,每个对象对应一个数据库连接。可以使用`org.springframework.jdbc.datasource.DriverManagerDataSource`或`...
动态数据源配置通常有以下几种实现方式: - **Apache DBCP、C3P0等连接池**:这些连接池支持多个数据源,但配置相对复杂,需要手动管理。 - **Spring框架的AbstractRoutingDataSource**:Spring框架提供了一种...
数据源是JDBC(Java Database Connectivity)的一种抽象,它是应用服务器与数据库之间的桥梁。通过数据源,应用可以连接到数据库进行数据操作,而无需管理具体的数据库连接细节。在WebSphere6.1中配置Oracle数据源,...