com.alibaba.druid数据源工具类
Druid是阿里巴巴推出的国产数据库连接池,据网上测试对比,比目前的DBCP或C3P0数据库连接池性能更好。它不仅仅是一个数据库连接池,它还包含一个ProxyDriver,一系列内置的JDBC组件库,一个SQL Parser。 支持所有JDBC兼容的数据库,包括Oracle、MySQL、Derby、Postgresql、SQL Server、H2等等。 Druid针对oracle和mysql做了特别优化,比如Oracle的PS Cache内存占用优化,MySql的ping检测优化。Druid提供了MySql、Oracle、Postgresql、SQL-92的SQL的完整支持,这是一个手写的高性能SQL Parser,支持Visitor模式,使得分析SQL的抽象语法树很方便。简单SQL语句用时10微秒以内,复杂SQL用时30微秒。
- driverClassName=com.mysql.jdbc.Driver
- url=jdbc:mysql://172.19.57.246:3306/webservice?useUnicode=true&characterEncoding=utf-8
- username=root
- password=root
- filters=stat
- initialSize=3
- maxActive=300
- maxWait=60000
- timeBetweenEvictionRunsMillis=60000
- minEvictableIdleTimeMillis=300000
- validationQuery=SELECT 1
- testWhileIdle=true
- testOnBorrow=false
- testOnReturn=false
- poolPreparedStatements=false
- maxPoolPreparedStatementPerConnectionSize=200
2.JdbcUtils工具类
- package founder.util;
- import java.io.InputStream;
- import java.sql.Connection;
- import java.sql.PreparedStatement;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import java.util.Properties;
- import com.alibaba.druid.pool.DruidDataSource;
- import com.alibaba.druid.pool.DruidDataSourceFactory;
- import com.alibaba.druid.pool.DruidPooledConnection;
- /**
- * @ClassName: JdbcUtils
- * @author hanwl
- * @date 2019年01月22日
- * @Description: TODO
- */
- public class JdbcUtils {
- // 工具类,私有化无参构造函数
- private JdbcUtils() {
- }
- private static JdbcUtils databasePool=null;
- private static DruidDataSource dataSource = null;
- // 静态代码块,加载配置文件。
- static{
- try{
- InputStream in = JdbcUtils.class.getClassLoader().getResourceAsStream("db.properties");
- Properties prop = new Properties();
- prop.load(in);
- dataSource = (DruidDataSource) DruidDataSourceFactory.createDataSource(prop);
- }catch (Exception e) {
- throw new ExceptionInInitializerError(e);
- }
- }
- public static synchronized JdbcUtils getInstance() {
- if(null == databasePool){
- databasePool=new JdbcUtils();
- }
- return databasePool;
- }
- /**
- * 创建数据库连接实例
- * @return 数据库连接实例 connection
- */
- public DruidPooledConnection getConnection(){
- try {
- return dataSource.getConnection();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- throw new RuntimeException("获取数据库连接异常");
- }
- /**
- * 关闭数据库连接实例
- */
- public static void releaseSqlConnection(ResultSet rSet, PreparedStatement pStatement,PreparedStatement iStatement, Connection connection) {
- try {
- if (rSet != null) {
- rSet.close();
- }
- } catch (SQLException e) {
- e.printStackTrace();
- } finally {
- try {
- if (pStatement != null) {
- pStatement.close();
- }
- if(iStatement!=null){
- iStatement.close();
- }
- } catch (SQLException e) {
- e.printStackTrace();
- } finally {
- try {
- if (connection != null) {
- connection.close();
- }
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- }
- }
- }
com.alibaba.druid数据源工具类的更多相关文章
- Druid数据库连接池工具类
package cn.itcast.utils;import com.alibaba.druid.pool.DruidDataSourceFactory;import javax.sql.DataSo ...
- JDBC操作数据库工具类(使用阿里Druid原生API创建数据源)
1.数据库配置类 package com.zdlt.auth.api.common.druid; import java.util.Properties; import static com.alib ...
- Druid 连接池 JDBCUtils 工具类的使用
Druid工具介绍 它不仅仅是一个数据库连接池,它还包含一个ProxyDriver,一系列内置的JDBC组件库,一个SQL Parser. 支持所有JDBC兼容的数据库,包括Oracle.MySQL. ...
- Druid连接池工具类
package cn.zmh.PingCe; import com.alibaba.druid.pool.DruidDataSourceFactory; import javax.sql.DataSo ...
- 基于Druid数据库连接池的DBUtil工具类
工具类 DruidUtil.java package com.zzuli.util; import com.alibaba.druid.pool.DruidDataSourceFactory; imp ...
- json工具类(一)——alibaba包
package com.ruoyi.common.utils.json; import java.util.HashMap; import java.util.List; import java.ut ...
- 分享自研实现的多数据源(支持同DB不同表、跨DB表、内存数据、外部系统数据等)分页查询工具类实现原理及使用
思考: 提起分页查询,想必任何一个开发人员(不论是新手还是老手)都能快速编码实现,实现原理再简单不过,无非就是写一条SELECT查询的SQL语句,ORDER BY分页排序的字段, 再结合limit ( ...
- Alibaba Java诊断工具Arthas查看Dubbo动态代理类
原创/朱季谦 阅读Dubbo源码过程中,会发现,Dubbo消费端在做远程调用时,默认通过 Javassist 框架为服务接口生成动态代理类,接着再去调用代理类实现远程接口调用.在阅读这部分源码时,最后 ...
- 阿里巴巴高新能数据源com.alibaba.druid.pool.DruidDataSource的jar包配置
aspectjweaver-1.7.4.jar druid-0.2.9.jar 两个包,用于提供com.alibaba.druid.pool.DruidDataSource
随机推荐
- 升级Mac OS X上的git
今天一打开visual studio code就提示我git版本low,需要升级,然后提供了一个下载链接(git官方下载地址:https://git-scm.com/),然后我就根据链接去下载了mac ...
- 第五篇Scrum冲刺博客
一.Daily Scrum Meeting照片 二.每个人的工作 成员 ItemID 已完成工作 明天计划完成的工作 遇到的困难 张鸿 o1 整合界面至游戏中 将其他剩余功能进行整合 游戏状态的切换 ...
- 【SpringBoot笔记】SpringBoot整合Druid数据连接池
废话少说,按SpringBoot的老套路来. [step1]:添加依赖 <!-- 数据库连接池 --> <dependency> <groupId>com.alib ...
- jQuery字母大小写转换函数
toLowerCase() ------ 将字符串中的所有字符都转换成小写: toUpperCase() ------ 将字符串中的所有字符都转换成大写:
- activemq读取剩余消息队列中消息的数量
先上原文链接: http://blog.csdn.net/bodybo/article/details/5647968 ActiveMQ在C#中的应用 ActiveMQ是个好东东,不必多说.Acti ...
- react this的作用域问题,麻烦大佬们帮我解决一下
element里面有个Table组件,我想在编辑和删除那里加上点击事件,但是发现点击方法没有效果 这里面的this看起来好像只针对这个作用域里面的,这里没有办法设置状态,也不能调用方法 设置状态会出现 ...
- Web框架本质及第一个Django实例
Web框架本质 我们可以这样理解:所有的Web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端. 这样我们就可以自己实现Web框架了. 半成品自定义web框架 impor ...
- vue 项目中当访问路由不存在的时候默认访问404页面
前言: 在Vue项目中,当访问的页面路由不存在或错误时,页面显示为一片空白.然而,通常我们需要对访问url不存在或者错误的情况下添加默认的404页面,即not found页面. 一般的处理方法是: 在 ...
- 这可能是最简单的Page Object库
做过web自动化测试的同学,对Page object设计模式应该不陌生. Page object库应该根据以下目标开发: Page object应该易于使用 清晰的结构 PageObjects 对于页 ...
- springmvc源码分析——入门看springmvc的加载过程
本文将分析springmvc是如何在容器启动的时候将各个模块加载完成容器的创建的. 我知道在web.xml文件中我们是这样配置springmvc的: 可以看到,springmvc的核心控制器就是Dis ...