`

【转】java数据源的几种配置

阅读更多

 

几种常用的Java数据源解决方案

Java中的数据源就是javax.sql.DataSourceDataSource的创建可以有不同的实现。

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.DataSourceDataSource了,而是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);

 

 

转自:http://www.cnblogs.com/yl2755/archive/2012/05/06/2486760.html

分享到:
评论

相关推荐

    几种常用的Java数据源解决方案

    ### 几种常用的Java数据源解决方案 在Java开发过程中,数据源(DataSource)扮演着非常重要的角色,它负责管理数据库连接资源,为应用程序提供高效、可靠的数据库访问支持。`javax.sql.DataSource`接口定义了标准的...

    springboot连接池、动态配置多数据源连接池,特别适合大数据部门、数据中台服务的多数据源连接池.zip

    本项目——"spring-boot-easy-connection-pool-master",主要探讨了如何在Spring Boot环境下配置和管理连接池,并且实现了动态配置多数据源的功能,这对于大数据部门和数据中台服务尤其重要。 首先,让我们深入理解...

    springboot +mybatis+oracle 配置多个数据源,配置两个数据库信息

    本配置示例将详细介绍如何在Spring Boot中整合MyBatis与Oracle数据库,并配置两个不同的数据源。 首先,我们需要理解数据源(DataSource)的概念。数据源是Java应用程序与数据库之间的桥梁,它负责管理数据库连接,...

    配置Oracle RAC集群数据源

    在配置 Oracle RAC 集群数据源时,需要关注以下几个方面: (1)数据源 URL 的配置:数据源 URL 的配置是配置 Oracle RAC 集群数据源的关键。数据源 URL 应该包含 RAC 集群的所有节点,包括主机名、端口号、服务名...

    struts框架中数据源的配置

    ### Struts框架中数据源的配置详解 #### 一、引言 在现代软件开发过程中,特别是企业级应用开发中,Struts框架被广泛应用于构建MIS系统等复杂的应用程序。Struts框架作为一种成熟的MVC架构实现,为开发者提供了...

    websphere数据源配置

    WebSphere作为一款强大的企业级应用服务器,提供了一种高效且灵活的方式来配置数据源,以便应用程序能够与各种数据库系统进行通信。在这个过程中,我们需要关注以下几个关键知识点: 1. **数据源的概念**: 数据源...

    JDBC数据源连接池的配置和使用示例

    常见的数据源连接池有以下几种: - C3P0:开源的JDBC连接池,提供了比JDBC更强大的功能,如自动检测死锁、自动重连等。 - DBCP:Apache的一个开源项目,基于Jakarta-pool实现,是Tomcat默认的数据源。 - HikariCP:...

    Spring Boot多数据源(JdbcTemplate)配置与使用

    配置多数据源在Spring Boot中主要涉及以下几个步骤: 1. 引入依赖:在`pom.xml`或`build.gradle`文件中添加Spring Boot的JDBC和数据源相关依赖。例如,如果你使用的是MySQL,可以添加如下Maven依赖: ```xml ...

    mybatis+spring实现动态切换数据源

    在企业级应用开发中,动态数据源是一种常见需求,它允许程序在运行时根据不同的业务逻辑切换到不同的数据库。在本项目中,我们将探讨如何利用MyBatis与Spring框架实现动态切换数据源的功能。首先,我们需要理解...

    oracle连接java的几种方法

    本篇文章将详细介绍在Java中连接Oracle数据库的几种常见方法,以及相关的源码示例。 1. JDBC-ODBC桥连接: JDBC-ODBC桥是Java早期连接数据库的一种方式,它依赖于操作系统上的ODBC数据源。首先,你需要在系统中...

    ejb数据源配置文件

    标题中的“ejb数据源配置文件”主要涉及到以下几个方面: 1. **数据库驱动**:EJB数据源配置首先要确定所使用的数据库类型,如MySQL、SQL Server或Oracle。每个数据库都有相应的JDBC驱动,比如MySQL的`...

    myBatis多数据源配置

    数据源是 Java 中用于获取数据库连接的接口,它提供了一种方式来管理数据库连接池,包括创建、分配、回收和关闭数据库连接。在多数据源配置中,我们需要定义多个数据源,以便根据业务需求选择合适的数据库进行操作。...

    数据源配置所用的JAR

    配置数据源的步骤通常包括以下几步: 1. **选择连接池**:根据应用的需求和性能要求,选择合适的连接池实现。 2. **添加JDBC驱动**:确保你的项目类路径包含对应数据库的JDBC驱动JAR。 3. **配置数据源**:在应用...

    Spring配置多个数据源

    Spring框架提供了一种灵活的方式来配置和管理多个数据源,使得这种需求变得简单易行。本文将详细介绍如何在Spring应用中配置多个数据源。 首先,我们来理解数据源(DataSource)的概念。数据源是Java中用于存储...

    配置Tomcat数据源

    文章中提到了两种配置Tomcat数据源的方式,分别为方式一和方式二。 方式一步骤详解: - Step1:在Tomcat的安装目录下的conf/server.xml文件中添加Context元素,用于配置资源引用。这里通过添加一个Context元素来为...

    Spring Boot + Druid + Mybatis + Atomikos 配置多数据源 并支持分布式事务

    2. 配置数据源:为每个数据源创建一个DataSource bean,使用Druid的配置类和属性配置不同的数据库连接。 3. 配置事务管理器:使用Atomikos的UserTransactionManager和JtaTransactionManager,注册到Spring Boot的...

    基于注解和Spring的多数据源配置和使用

    在Spring中,多数据源配置通常涉及以下几个关键步骤: 1. **数据源配置**:创建多个DataSource对象,每个对象对应一个数据库连接。可以使用`org.springframework.jdbc.datasource.DriverManagerDataSource`或`...

    数据源动态配置demo

    动态数据源配置通常有以下几种实现方式: - **Apache DBCP、C3P0等连接池**:这些连接池支持多个数据源,但配置相对复杂,需要手动管理。 - **Spring框架的AbstractRoutingDataSource**:Spring框架提供了一种...

    WebSphere6.1 for oracle数据源配置

    数据源是JDBC(Java Database Connectivity)的一种抽象,它是应用服务器与数据库之间的桥梁。通过数据源,应用可以连接到数据库进行数据操作,而无需管理具体的数据库连接细节。在WebSphere6.1中配置Oracle数据源,...

Global site tag (gtag.js) - Google Analytics