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();
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
使用XML配置c3p0数据库连接池
本文实例为大家分享了使用XML配置c3p0数据库连接池的具体代码,供大家参考,具体内容如下 想通过JDBC来配置c3p0数据库连接池,上网想找到解析工具没有找到,只要自己写了一个,可以读取在根目录下的c3p0配置文档,再根据配置信息来反射ComboPooledDataSource 中的setter进行连接池的配置. 本人水平很菜,如果有什么不足请大家指出. package cn.vagasnail.sgms.util; import java.lang.reflect.InvocationTar
-
C3P0连接池+MySQL的配置及wait_timeout问题的解决方法
一.配置环境 spring4.2.4+mybatis3.2.8+c3p0-0.9.1.2+Mysql5.6.24 二.c3p0的配置详解及spring+c3p0配置 1.配置详解 官方文档 : http://www.mchange.com/projects/c3p0/index.html <c3p0-config> < default-config> <!--当连接池中的连接耗尽的时候c3p0一次同时获取的连接数.Default: 3 --> <property
-
spring boot整合mybatis使用c3p0数据源连接mysql
刚刚接触springboot,对很多东西都不熟悉,例如,它的注解方式,他的配置方式等:听说它很牛逼,所以就尝试着去学习.在基本熟悉springboot的第一个程序之后.想到当时spring整合mybatis时使用了数据源连接数据库,所以自己也想尝试使用c3p0连接数据库.所以就有了以下的内容: 首先第一步,创建maven项目导入包: pom.xml <parent> <groupId>org.springframework.boot</groupId> <arti
-
数据库连接池c3p0配置_动力节点Java学院整理
c3p0的配置方式分为三种,分别是 1.setters一个个地设置各个配置项 2.类路径下提供一个c3p0.properties文件 3.类路径下提供一个c3p0-config.xml文件 1.setters一个个地设置各个配置项 这种方式最繁琐,形式一般是这样: Properties props = new Properties(); InputStream in = ConnectionManager.class.getResourceAsStream("/c3p0.properties&q
-
Spring通过c3p0配置bean连接数据库
Spring配置bean连接数据库两种方法: (1)直接在.xml文件内部配置: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context
-
JDBC利用C3P0数据库连接池连接数据库
JDBC之C3P0数据库连接池,供大家参考,具体内容如下 1 首先在src中创建c3p0-config.xml 配置文件,文件中内容如下(首先下载C3P0.jar工具包 并放入项目环境变量中) <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE xml> <c3p0-config> <!--下面四个是数据库连接必须需要的东西 --> <named-config nam
-
Java使用C3P0数据源链接数据库
本文实例为大家分享了Java使用C3P0数据源链接数据库的具体代码,供大家参考,具体内容如下 1.相关jar包,这里需要3个jar包 2.具体链接数据库代码 ComboPooledDataSource类继承自AbstractComboPooledDataSource类,且AbstractComboPooledDataSource类实现了PooledDataSource接口 ComboPooledDataSource常用方法 (1).通过ComboPooledDataSource类直接创建数据源对
-
Java数据库连接池之c3p0简介_动力节点Java学院整理
c3p0是什么 c3p0的出现,是为了大大提高应用程序和数据库之间访问效率的. 它的特性: 编码的简单易用 连接的复用 连接的管理 说到c3p0,不得不说一下jdbc本身,c3p0愿意就是对数据库连接的管理,那么原有的概念还是得清晰:DriverManager.Connection.StateMent.ResultMent. jdbc:java database connective这套API,不用多说,是一套用于连接各式dbms或连接桥接器的api,两个层级:上层供应用方调用api,下层,定义
-
使用c3p0连接数据库实现增删改查
学习spring之前,视频中先给我们一个任务就是用c3p0连接数据库来完成增删改查 一.准备 JAR包: 既然是连接数据库第一个最重要的就是数据库的驱动包mysql-connection-java-5.1.44-bin.jar 接着就是C3P0-0.9.2.1.jar以及mchange-commons-java-0.2.3.4.jar 然后还少不了dbutils 使用的是commons-dbutils-1.7.jar 一共是4个JAR包 二.配置 配置数据库连接: 创建c3p0-co
-
Java数据库连接池c3p0过程解析
首先下载c3p0的jar包 https://mvnrepository.com/search?q=c3p0 导入jar包到eclipse 将c3p0的jar包放到eclipse中,单击右键,选择build path ,在选择 add jars 创建连接池对象 ComboPooledDataSource cpd= new ComboPooledDataSource(); 设置连接参数 方法一 使用静态代码块来初始化参数(不推荐)如果数据库发生改变,源文件需要重新编写编译,项目需要重新部署 stat
-
Java 数据库连接池c3p0 介绍
目录 1.配置参数 1.1.基础配置 1.2.连接池大小 1.3.连接池大小和连接存活时间 1.4.连接测试 1.5.预编译池 1.6.数据库中断的恢复 1.7.自定义连接生命周期管理 1.8.处理未提交的事务 1.9.调试 1.10.避免热部署内存泄露 1.11.其它配置 2.原始连接操作 3.使用 3.1.直接使用 3.1.1.引入依赖 3.1.2.使用例子 3.2.在 SpringBoot 中使用 3.1.1.引入依赖 3.1.2.单数据源 3.1.3.多数据源 前言: c3p0 是一个开
-
Java 数据库连接池详解及简单实例
Java 数据库连接池详解 数据库连接池的原理是: 连接池基本的思想是在系统初始化的时候,将数据库连接作为对象存储在内存中,当用户需要访问数据库时,并非建立一个新的连接,而是从连接池中取出一个已建立的空闲连接对象.使用完毕后,用户也并非将连接关闭,而是将连接放回连接池中,以供下一个请求访问使用.而连接的建立.断开都由连接池自身来管理.同时,还可以通过设置连接池的参数来控制连接池中的初始连接数.连接的上下限数以及每个连接的最大使用次数.最大空闲时间等等.也可以通过其自身的管理机制来监视数据库连接的
-
Java数据库连接池的几种配置方法(以MySQL数据库为例)
一.Tomcat配置数据源: 前提:需要将连接MySQL数据库驱动jar包放进Tomcat安装目录中common文件夹下的lib目录中 1.方法一:在WebRoot下面建文件夹META-INF,里面建一个文件context.xml,如下: <?xml version="1.0" encoding="UTF-8"?> <Context> <Resource name="jdbc/chaoshi" auth="
-
Java数据库连接池之proxool_动力节点Java学院整理
Proxool是一种Java数据库连接池技术.sourceforge下的一个开源项目,这个项目提供一个健壮.易用的连接池,最为关键的是这个连接池提供监控的功能,方便易用,便于发现连接泄漏的情况. 目前是和DBCP以及C3P0一起,最为常见的三种JDBC连接池技术. 日前,Hibernate官方宣布由于Bug太多不再支持DBCP,而推荐使用 Proxool或C3P0. 下面通过一个Demo说明一下如何使用: 项目结构如下: DBLink.Java文件中的代码: package com.bjpowe
-
原生Java操作mysql数据库过程解析
这篇文章主要介绍了原生Java操作mysql数据库过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.引入数据库驱动的jar包 以通过maven引入mysql driver为例 1.1 到http://mvnrepository.com 搜索 mysql 1.2 复制所需maven配置文件到工程的 pom.xml <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-
-
详解Java数据库连接池
一.什么是数据库连接池 就是一个容器持有多个数据库连接,当程序需要操作数据库的时候直接从池中取出连接,使用完之后再还回去,和线程池一个道理. 二.为什么需要连接池,好处是什么? 1.节省资源,如果每次访问数据库都创建新的连接,创建和销毁都浪费系统资源 2.响应性更好,省去了创建的时间,响应性更好. 3.统一管理数据库连接,避免因为业务的膨胀导致数据库连接的无限增多. 4.便于监控. 三.都有哪些连接池方案 数据库连接池的方案有不少,我接触过的连接池方案有: 1.C3p0 这个连接池我很久之前看到
-
Java数据库连接池技术的入门教程
池(Pool)技术在一定程度上可以明显优化服务器应用程序的性能,提高程序执行效率和降低系统资源开销.数据库连接池负责分配.管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个: 数据库连接池技术 基本概念: 数据库连接池:其实就是一个容器(集合),存放数据库连接的容器. 当系统初始化好后,容器被创建,容器中会申请一些连接对象,当用户来访问数据库时,从容器中获取连接对象,用户访问完之后,会将连接对象归还给容器. 使用池化技术的好处: 1. 节约资源 2. 用户访问
-
Java继承构造器使用过程解析
这篇文章主要介绍了Java继承构造器使用过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 初始化基类 前面提到,继承是子类对父类的拓展.<Thinking in Java>中提到下面一段话: 当创建一个导出类的对象时,该对象包含了一个基类的子对象.这个子对象与你用基类直接创建的对象是一样的.二者区别在于,后者来自于外部,而基类的子对象被包装在导出类的对象内部. 我们在创建子类对象时,调用了父类的构造器,甚至父类的父类构造器.我们知道,构
-
通过Java实现bash命令过程解析
这篇文章主要介绍了通过Java实现bash命令过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.BASH 命令简介 Bash,Unix shell的一种,在1987年由布莱恩·福克斯为了GNU计划而编写.1989年发布第一个正式版本,原先是计划用在GNU操作系统上,但能运行于大多数类Unix系统的操作系统之上,包括Linux与Mac OS X v10.4都将它作为默认shell. Bash是Bourne shell的后继兼容版本与开放
随机推荐
- 对XML数据使用XMLConvert
- AngularJs入门教程之环境搭建+创建应用示例
- Vue路由跳转问题记录详解
- angularjs实现首页轮播图效果
- Android开发教程之shape和selector的结合使用
- 查询Oracle中正在执行和执行过的SQL语句
- JavaScript类的写法
- 基于Android代码实现常用布局
- C++ 单例模式的详解及实例
- 十个节省时间的MySQL命令小结
- node.js(express)中使用Jcrop进行图片剪切上传功能
- php使用pdo连接并查询sql数据库的方法
- Golang的循环中break和continue语句的用法讲解
- Shell脚本实现在Linux系统中自动安装JDK
- 一键清除_desktop.ini文件的批处理文件
- MySQL数据库的高可用方案总结
- jQuery插件开发精品教程(让你的jQuery更上一个台阶)
- jQuery Ajax 上传文件处理方式介绍(推荐)
- js onkeypress与onkeydown 事件区别详细说明
- C#与.net高级编程 C#的多态介绍