Java数据库连接池c3p0过程解析

 更新时间:2020年07月27日 15:55:50   作者:岁月染过的梦  
这篇文章主要介绍了Java数据库连接池c3p0过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

首先下载c3p0的jar包

https://mvnrepository.com/search?q=c3p0

导入jar包到eclipse

将c3p0的jar包放到eclipse中,单击右键,选择build path ,在选择 add jars

创建连接池对象

ComboPooledDataSource cpd= new ComboPooledDataSource();

设置连接参数

方法一

使用静态代码块来初始化参数(不推荐)如果数据库发生改变,源文件需要重新编写编译,项目需要重新部署

static ComboPooledDataSource cpd= new ComboPooledDataSource();
	 static {
		 try {
				cpd.setDriverClass("com.mysql.jdbc.Driver");
				cpd.setJdbcUrl("jdbc:mysql:///users?characterEnconding=utf-8");
				cpd.setUser("root");
				cpd.setPassword("123456");
			} catch (PropertyVetoException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} 
	 }

方法二

在src的目录下建立c3p0.propertise文件

c3p0.driverClass=com.mysql.jdbc.Driver
c3p0.jdbcUrl=jdbc:mysql:///users?characterEnconding=utf-8
c3p0.user=root
c3p0.password=123456

方法三

在src目录下建立 c3po-config.xml文件

<?xml version="1.0" encoding="UTF-8"?>

   <c3p0-config>


     <default-config>

         <property name="driverClass">com.mysql.jdbc.Driver </property>

         <property name="jdbcUrl">jdbc:mysql:///jt_db?characterEncoding=utf-8 
         </property>

         <property name="user">root </property>

         <property name="password">root </property>

   </default-config>

</c3p0-config>

调用连接池对象

//创建连接池对象
ComboPooledDataSource cpd= new ComboPooledDataSource();
  
  public void find() throws Exception {
  	//获取连接池连接
  	Connection conn = cpd.getConnection();
         //创建传输器
  	PreparedStatement ps = conn.prepareStatement("select * from user");
  	 
  	//结果集
  	ResultSet rs = ps.executeQuery();
  	
  	while(rs.next()) {
  		rs.getInt(1);//获取的行的第一列
  		rs.getString("id");//获取行的id列
  	}	
  }

连接池对象的close方发被改造了,不是释放连接而是将连接还给连接池

rs.close();
ps.close();
conn.close();

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 如何使用Spring Batch进行批处理任务管理

    如何使用Spring Batch进行批处理任务管理

    本文介绍了如何配置Spring Batch、如何创建批处理任务,以及如何读取和写入数据,希望通过本文的介绍,你能更好地理解和使用Spring Batch来管理批处理任务,感兴趣的朋友跟随小编一起看看吧
    2024-08-08
  • 深入浅出重构Mybatis与Spring集成的SqlSessionFactoryBean(上)

    深入浅出重构Mybatis与Spring集成的SqlSessionFactoryBean(上)

    通常来讲,重构是指不改变功能的情况下优化代码,但本文所说的重构也包括了添加功能。这篇文章主要介绍了重构Mybatis与Spring集成的SqlSessionFactoryBean(上)的相关资料,需要的朋友可以参考下
    2016-11-11
  • 浅谈Java注解和动态代理

    浅谈Java注解和动态代理

    这篇文章主要介绍了Java中有关注解和动态代理的一些知识,涉及了Annotation、数据类型等相关内容,需要的朋友可以参考下。
    2017-09-09
  • Java InheritableThreadLocal使用示例详解

    Java InheritableThreadLocal使用示例详解

    InheritableThreadLocal继承了ThreadLocal,此类扩展了ThreadLocal以提供从父线程到子线程的值的继承:当创建子线程时,子线程接收父线程具有的所有可继承线程局部变量的初始值。 通常子线程的值与父线程的值是一致的
    2022-09-09
  • HttpServletResponse乱码问题_动力节点Java学院整理

    HttpServletResponse乱码问题_动力节点Java学院整理

    这篇文章主要介绍了HttpServletResponse乱码问题,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-07-07
  • Maven打jar包的三种方式(小结)

    Maven打jar包的三种方式(小结)

    这篇文章主要介绍了Maven打jar包的三种方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • SpringBoot mail中文附件乱码的解决方法

    SpringBoot mail中文附件乱码的解决方法

    本篇文章主要介绍了SpringBoot mail中文附件乱码的解决方法,非常具有实用价值,需要的朋友可以参考下
    2017-09-09
  • SpringBoot整合Flyway实现数据库的初始化和版本管理操作

    SpringBoot整合Flyway实现数据库的初始化和版本管理操作

    Flyway 是一款开源的数据库版本管理工具,它可以很方便的在命令行中使用,或者在Java应用程序中引入,用于管理我们的数据库版本,这篇文章主要介绍了SpringBoot整合Flyway实现数据库的初始化和版本管理,需要的朋友可以参考下
    2023-06-06
  • 利用spring boot如何快速启动一个web项目详解

    利用spring boot如何快速启动一个web项目详解

    这篇文章主要给大家介绍了关于利用spring boot如何快速启动一个web项目的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧、
    2017-12-12
  • MybatisPlus为何可以不用@MapperScan详解

    MybatisPlus为何可以不用@MapperScan详解

    这篇文章主要给大家介绍了关于MybatisPlus为何可以不用@MapperScan的相关资料,文中通过图文介绍的非常详细,对大家学习或者使用MybatisPlus具有一定的参考学习价值,需要的朋友可以参考下
    2023-04-04

最新评论