spring创建连接池的几种方式

spring使用连接池有很多种方式,jdbc(不使用连接池),c3p0,dbcp,jndi,下面将分别贴代码介绍这几种:

 1.jdbc方式

使用的是DriverManagerDataSource,DriverManagerDataSource建立连接是只要有连接就新建一个connection,  根本没有连接池的作用

<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> 
  <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>

2.C3P0连接池

使用的是ComboPooledDataSource

<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"       
        destroy-method="close">      
    <property name="driverClass" value=" oracle.jdbc.driver.OracleDriver "/>      
    <property name="jdbcUrl" value=" jdbc:oracle:thin:@localhost:1521:ora9i "/>      
    <property name="user" value="admin"/>      
    <property name="password" value="1234"/>      
</bean>

3.DBCP连接池

使用的是BasicDataSource

<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:@192.168.24.102:1521:sms" />             
    <property name="username" value="test"/>             
    <property name="password" value="test" />             
  
</bean>

由于spring对C3P0,DBCP连接池有了很好的支持,所以只需要如上的配置,就配置好了相应数据源的连接池。

4.JNDI方式

使用的是JndiObjectFactoryBean

<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean"> 
 <property name="jndiName"><value>java:comp/env/jdbc/roseindiaDB_local</value></property>
</bean>

这种使用JDNI的方式,同样需要服务器的支持,如在tomcat的context.xml加入相应的代码,具体的可以看前一篇文章的介绍

spring创建连接池的几种方式

时间: 2025-01-06 18:06:59

spring创建连接池的几种方式的相关文章

JDBC 创建连接对象的三种方式

创建连接对象的三种方式 //第一种方式 Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb?user=root&password=root") ; //第二种方式 //读取properties文件 Properties pro = new Properties() ; InputStream in = JdbcDemo3.class.getClassLoader().ge

配置Java连接池的两种方式:tomcat方式以及spring方式

1. tomcat方式:在context.xml配置连接池,然后在web.xml中写配置代码(也可以在server.xml文件中配置连接池),这两种方法的区别是:在tomcat6版本及以上中context元素已经从server.xml文件中独立出来了,放在一个context.xml文件中.因为server.xml是不可动态重加载的资源,服务器一旦启动了以后,要修改这个文件,就得重启服务器才能重新加载.然而context.xml文件则不然,tomcat服务器会定时去扫描这个文件,一旦发现文件被修改

网络协议 finally{ return问题 注入问题 jdbc注册驱动问题 PreparedStatement 连接池目的 1.2.1DBCP连接池 C3P0连接池 MYSQL两种方式进行实物管理 JDBC事务 DBUtils事务 ThreadLocal 事务特性 并发访问 隔离级别

1.1.1 API详解:注册驱动 DriverManager.registerDriver(new com.mysql.jdbc.Driver());不建议使用 原因有2个: >导致驱动被注册2次. >强烈依赖数据库的驱动jar 解决办法: Class.forName("com.mysql.jdbc.Driver"); 1.1.2 API详解:java.sql.Statement接口: 操作sql语句,并返回相应结果 String sql = "某SQL语句&qu

Java知识点16 Spring创建IOC容器的两种方式

1.直接得到 IOC 容器对象 ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml"); 封装起来: 1 public class ApplicationContextUtil { 2 private static ApplicationContext applicationContext = null; 3 public Applicati

spring中创建bean对象的三种方式以及作用范围

时间:2020/02/02 一.在spring的xml配置文件中创建bean对象的三种方式: 1.使用默认构造函数创建.在spring的配置文件中使用bean标签,配以id和class属性之后,且没有其他属性和标签时采用的就是默认构造函数创建bean对象,此时如果类中没有默认构造函数函数,则对象无法创建. <bean id="one" class="sdnu.machi.one"></bean> 如果one.class中没有默认构造函数则会报

Spring c3p0连接池配置

数据库连接池数据库连接池的基本思想就是为数据库连接建立一个"缓冲池".预先在缓冲池中放入一定数量的连接,当需要建立数据库连接时,只需从"缓冲池"中取出一个,使用完毕之后再放回去.我们可以通过设定连接池最大连接数来防止系统无尽的与数据库连接. 获取一个连接,系统要在背后做很多消耗资源的事情,大多时候,创建连接的时间比执行sql语句的时间还要长.用户每次请求都需要向数据库获得链接,而数据库创建连接通常需要消耗相对较大的资源,创建时间也较长. 数据库连接池负责分配,管理和

iReport+jasperreport创建子表的几种方式(1)

在制作报表的过程中,子表是必不可少的,今天就研究了一下制作子表的几种方式 一.连接数据库创建子表 以MySQL为例: 1)iReport 创建父表 这个就是创建一个新的表格,不过记得数据源要选择mySQL ,其他的数据库数据源也一样的. 2)创建好之后,我们来创建子表,在组件面板找到拖动到父表当中的任意一个地方,我是放到detail里面的 它会产生一个向导 一路next下去,只是在最后一项选择use empty datasource,不过选其他的也行,待会我们还要修改 3)说一下原理:这种方式就

Spring配置连接池

---------------------siwuxie095 Spring 配置连接池 1.Spring 配置内置连接池 在 applicationContext.xml 中添加如下内容: <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName&qu

hibernate配置连接池的3中方式

三种连接都是以连接MySQl为例. <!-- JDBC驱动程序 --> <property name="connection.driver_class">org.gjt.mm.mysql.Driver</property> <property name="connection.url">jdbc:mysql://localhost:3306/struts?useUnicode=true&characterEnc