C3P0连接池的c3p0-config.xml配置文件

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <c3p0-config>
  3. <default-config>
  4. <property name="driverClass">com.mysql.cj.jdbc.Driver</property>
  5. <property name="jdbcUrl">jdbc:mysql:///jdbctest?serverTimezone=Hongkong</property>
  6. <property name="user">root</property>
  7. <property name="password">1234</property>
  8. <property name="initialPoolSize">5</property>
  9. <property name="maxPoolSize">20</property>
  10. </default-config>
  11. </c3p0-config>

工具类

  1. package jdbcUtils;
  2. import java.sql.Connection;
  3. import java.sql.ResultSet;
  4. import java.sql.Statement;
  5. import com.mchange.v2.c3p0.ComboPooledDataSource;
  6. public class JDBCUtils {
  7. private static final ComboPooledDataSource cpds = new ComboPooledDataSource();
  8. public static Connection getConection() throws Exception {
  9. return cpds.getConnection();
  10. }
  11. public static void release(Statement stmt, Connection conn) {
  12. if(stmt != null) {
  13. try {
  14. stmt.close();
  15. }catch(Exception e) {
  16. e.printStackTrace();
  17. }
  18. stmt = null;
  19. }
  20. if(conn != null) {
  21. try {
  22. conn.close();
  23. }catch(Exception e) {
  24. e.printStackTrace();
  25. }
  26. conn = null;
  27. }
  28. }
  29. public static void release(ResultSet rs, Statement stmt, Connection conn) {
  30. if(rs != null) {
  31. try {
  32. rs.close();
  33. }catch(Exception e) {
  34. e.printStackTrace();
  35. }
  36. rs = null;
  37. }
  38. if(stmt != null) {
  39. try {
  40. stmt.close();
  41. }catch(Exception e) {
  42. e.printStackTrace();
  43. }
  44. stmt = null;
  45. }
  46. if(conn != null) {
  47. try {
  48. conn.close();
  49. }catch(Exception e) {
  50. e.printStackTrace();
  51. }
  52. conn = null;
  53. }
  54. }
  55. }

单元测试

  1. package demo1;
  2. import java.sql.Connection;
  3. import java.sql.PreparedStatement;
  4. import java.sql.ResultSet;
  5. import org.junit.Test;
  6. import jdbcUtils.JDBCUtils;
  7. public class JDBCDemo4 {
  8. @Test
  9. public void demo4() {
  10. Connection conn = null;
  11. PreparedStatement pstmt = null;
  12. ResultSet rs = null;
  13. try {
  14. // 获得连接
  15. conn = JDBCUtils.getConection();
  16. // 编写SQL
  17. String sql = "select * from course";
  18. // 预编译SQL
  19. pstmt = conn.prepareStatement(sql);
  20. // 执行SQL
  21. rs = pstmt.executeQuery();
  22. while (rs.next()) {
  23. System.out.println(rs.getInt("id") + " " + rs.getString("name") + " " + rs.getString("category") + " "
  24. + rs.getString("desp") + " " + rs.getTimestamp("createTime"));
  25. }
  26. } catch (Exception e) {
  27. e.printStackTrace();
  28. } finally {
  29. JDBCUtils.release(rs, pstmt, conn);
  30. }
  31. }
  32. }

【JDBC】C3P0连接池的使用的更多相关文章

  1. Spring -- spring 中使用jdbc, c3p0连接池, dao概念

    1. 示例代码 CustomerDao.java  ,dao接口 public interface CustomerDao { public void insertCustomer(Customer ...

  2. c3p0、dbcp、tomcat jdbc pool 连接池配置简介及常用数据库的driverClass和驱动包

    [-] DBCP连接池配置 dbcp jar包 c3p0连接池配置 c3p0 jar包 jdbc-pool连接池配置 jdbc-pool jar包 常用数据库的driverClass和jdbcUrl ...

  3. 网络协议 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 ...

  4. JDBC数据源连接池(2)---C3P0

    我们接着<JDBC数据源连接池(1)---DBCP>继续介绍数据源连接池. 首先,在Web项目的WebContent--->WEB-INF--->lib文件夹中添加C3P0的j ...

  5. 在jdbc基础上进阶一小步的C3p0 连接池(DBCP 不能读xml配置文件,已淘汰) 和DBUtils 中两个主要类QueryRunner和ResultSetHandler的使用

    首先看C3p0这个连接池,最大优势可以自动读取默认的配置文件 <?xml version="1.0" encoding="UTF-8"?> < ...

  6. DBCP,C3P0与Tomcat jdbc pool 连接池的比较

    hibernate开发组推荐使用c3p0; spring开发组推荐使用dbcp(dbcp连接池有weblogic连接池同样的问题,就是强行关闭连接或数据库重启后,无法reconnect,告诉连接被重置 ...

  7. day39-Spring 15-Spring的JDBC模板:C3P0连接池配置

    <!-- 配置C3P0连接池 --> <bean id="dataSource2" class="com.mchange.v2.c3p0.ComboPo ...

  8. c3p0连接池]

    <c3p0-config> <!-- 默认配置 --> <default-config> <property name="jdbcUrl" ...

  9. c3p0连接池获得的Connection执行close方法后是否真的销毁Connection对象?

    问题描述: jfinal做的api系统中,在正常调用接口一段时间后,突然再调用接口的时候,该请求无响应api系统后台也无错误信息 (就是刚开始接口调用是正常的,突然就无响应了) 于是啊,就开始找错误. ...

随机推荐

  1. CROSS-ENV不同环境配置

    项目背景 为了适应h5环境搭建需求,需要动态配置开发,测试,生产三种对应域名及其及打包命令.使用cross-env可以让配置环境更加清晰明了还好管理. 简介 cross-env的作用是不需要全局配置N ...

  2. RecyclerView 添加自定义分割线

    默认的浅灰色的分割线在某些时候并不能满足我们的要求,这时就需要自定义分割线了. 我们可以通过两种方式来实现:调用 DividerItemDecoration.setDrawable 方法或者继承实现 ...

  3. SpringBoot+Redis简单使用

    1.引入依赖 在pom.xml中加入 <dependency> <groupId>org.springframework.boot</groupId> <ar ...

  4. fastjson又被发现漏洞,这次危害可能会导致服务瘫痪

    0x00 漏洞背景 2019年9月5日,fastjson在commit 995845170527221ca0293cf290e33a7d6cb52bf7上提交了旨在修复当字符串中包含\\x转义字符时可 ...

  5. Jmeter性能测试分布式技术

    一.什么是分布式测试 分布式测试是指通过局域网和Internet,把分布于不同地点.独立完成特定功能的测试计算机连接起来,以达到测试资源共享.分散操作.集中管理.协同工作.负载均衡.测试过程监控等目的 ...

  6. SecureCRT登陆liunx 方向键失效

    使用SecureCRT登陆liunx(CenterOS)系统,发现删除(backspace)键.和上下左右键不起作用,解决如下: 先打开Options–>Session Options–> ...

  7. 遇见手绘花卉小清新简约通用PPT模板推荐

    模版来源:http://ppt.dede58.com/jiaoxuekejian/26484.html

  8. python yield关键词使用总结

    python yield关键词使用总结 by:授客 QQ:1033553122 测试环境 win10 python 3.5 yield功能简介 简单来说,yield 的作用就是把一个函数变成一个 ge ...

  9. Android PopupWindow增加半透明蒙层

    先看效果图: BasePopupWindowWithMask.class package com.example.popupwindowwithmask; import android.content ...

  10. TCP服务端

    出处: https://blog.csdn.net/DGH2430284817/article/details/86653294问题描述:       在用socket的通信中,经常会出现这种情况,客 ...