使用c3p0连接池来改版JdbcUtils工具

1. 使用c3p0连接池获取连接,使代码更加简单

 1 /**
 2  * 使用c3p0连接池做小工具
 3  * JdbcUtils v2.0
 4  * @author hui.zhang
 5  *
 6  */
 7 public class JdbcUtils {
 8     // 配置文件的默认配置,必须给出c3p0-config.xml
 9     private static ComboPooledDataSource dataSource = new ComboPooledDataSource();
10
11     /**
12      * 使用连接池返回一个连接对象
13      * @return
14      * @throws SQLException
15      */
16     public static Connection getConnection() throws SQLException {
17         return dataSource.getConnection();
18     }
19
20     /**
21      * 返回连接池对象
22      * @return
23      */
24     public static DataSource getDataSource() {
25         return dataSource;
26     }
27
28 }

2. 在src路径下必须给出c3p0-config.xml配置文件

<?xml version="1.0" encoding="UTF-8"?>
<c3p0-config><!-- 默认配置信息 --><default-config><!-- 连接四大参数 --><property name="user">数据库用户名</property><property name="password">数据库密码</property><property name="driverClass">com.mysql.jdbc.Driver</property><property name="jdbcUrl">jdbc:mysql:///数据库名</property><!-- 池参数配置 --><property name="acquireIncrement">3</property> <property name="initialPoolSize">10</property> <property name="minPoolSize">2</property> <property name="maxPoolSize">10</property></default-config>
</c3p0-config> 

3. 总结

  * 什么是连接池

    连接池是装有连接的容器,使用连接的话,可以从连接池中进行获取,使用完成之后将连接归还给连接池。

  为什么要学习连接池

    连接对象创建和销毁是需要耗费时间的,在服务器初始化的时候就初始化一些连接。把这些连接放入到内存中,使用的时候可以从内存中获取,使用完成之后将连接放入连接池中。从内存中获取和归还的效率要远远高于创建和销毁的效率。(提升性能)。

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

  JdbcUtils v2.0的版本加入了c3p0连接池,c3p0是一个开源连接池,支持JDBC3和JDBC2的标准扩展,目前使用它的开源项目有Hibernate、Spring等。接下来有机会介绍介绍阿里旗下的开源连接池Druid,使用非常简单,可以和Spring进行快速整合。

转载于:https://www.cnblogs.com/stefan95/p/7575694.html

JavaWeb基础之JdbcUtils工具类2.0相关推荐

  1. IOS开发基础之音频工具类封装AVAudioPlayer

    IOS开发基础之音频工具类封装AVAudioPlayer 源码在我的主页下面 ,项目名称是AVAudioPlayer 关键性代码 工具类的封装 // // LJAudioTool.h // AVAud ...

  2. python如何设计工具类_Python基础之自定义工具类

    class ListHelper: @staticmethod def find_all(target, func_condition): """ 查找列表中满足条件的所 ...

  3. Druid 连接池 JDBCUtils 工具类的使用

    Druid工具介绍 它不仅仅是一个数据库连接池,它还包含一个ProxyDriver,一系列内置的JDBC组件库,一个SQL Parser. 支持所有JDBC兼容的数据库,包括Oracle.MySQL. ...

  4. JDBCUtils工具类编写

    什么是JDBC: JDBC全称: java database connection. Jdbc主要用于java代码连接数据库,java代码就可以发送sql语句给数据库服务器,操作数据库中数据. 获取连 ...

  5. 【JDBC】JDBCUtils工具类开发

    [JDBC]JDBCUtils工具类开发 1.JDBCUtils工具类开发 2.使用JdbcUtils工具类测试DML语句 3.使用JdbcUtils工具类测试查询语句 1.JDBCUtils工具类开 ...

  6. JDBCUtils工具类的创建和使用

    为了简化JDBC的注册驱动.创建连接对象等操作,可以使用JDBC工具类以及配置文件. 配置文件 url = jdbc:mysql://localhost:3308/db4?useSSL=false&a ...

  7. 05:JDBC的开发步骤,及其抽取的JDBCUtils工具类

    1.1.JDBC是什么? JDBC是一种用于执行SQL语句的Java API.(Java Data Base Connectivity,java数据库连接),是Java访问数据库的标准规范,可以为不同 ...

  8. JDBCUtils工具类的基础学习笔记

    注:以下整理笔记来自自己的公众号,适合初学者一起探讨,我也是初学者! 创建一个实体类: package com.zx.bean;public class User {private int id;pr ...

  9. Hibernate_1_配置文件详解_基础案例_Hibernate工具类_API详解_持久化类编写规则

    Hibernate( ORM框架 ) Hibernate是一个数据持久化层的ORM框架. 它通过JavaBean, 数据库中的表与自身的映射关系达到表中数据的增删改查 特性 1.对JDBC访问数据库的 ...

最新文章

  1. 学术圈要炸锅:论文作者和审稿人串通欺骗盲审,ACM Fellow发文痛斥!顶会“想中就中”...
  2. 循环神经网络:RNN、LSTM、GRU、BPTT
  3. 基础补充和加强——希望对后来的人有所帮助
  4. Spring和JSF集成:国际化和本地化
  5. 关于卸载Python第三方包的粗暴方法
  6. 数据结构 10分钟让你掌握经典排序(二)
  7. RIP 图形、图像解析器
  8. 使用ThreadLocal和AtomicInteger将int属性改为线程安全的计数器
  9. Failed to obtain JDBC Connection; nested exception is java.sql.SQLException: Access denied for user
  10. CSU 1256 天朝的单行道
  11. 003-信息技术学科知识与教学能力
  12. [POI2009]Lyz
  13. Au:剪辑的基础操作
  14. 全局壁纸美化v3.0安卓版
  15. 【PID优化】基于matlab粒子群算法优化BP神经网络PID控制【含Matlab源码 2022期】
  16. 基于机器学习的天气数据分析与预测系统
  17. 我用这个画3d图和电路图、上网,防止鼠标手
  18. 简单两步解决UCenter忘记创始人UCenter Administrator密码
  19. 图解最常用的10个机器学习算法
  20. YX133具有12位ADC与16位PWM的8位OTP单片机,SOP和QFN小封装单片机适合电子烟等便携产品使用

热门文章

  1. javaweb回顾第十二篇监听器
  2. Android实例-MotionSensor加速度(XE8+小米2)
  3. JNI学习开始篇 基础知识 数据映射及学习资料收集
  4. PowerDesigner生成数据库建表sql脚本
  5. 不能创建对象: 'CDONTS.Newmail'”
  6. 线性回归——lasso回归和岭回归(ridge regression)
  7. 《企业自主搞定ERP》试读:第一章-Odoo概述
  8. RedisDesktopManager连接不上redis的解决方法
  9. .net dataGridView当鼠标经过时当前行背景色变色;然后【给GridView增加单击行事件,并获取单击行的数据填充到页面中的控件中】...
  10. javascript 模式学习篇---基础