Druid:数据库连接池实现技术,由阿里巴巴提供的

1. 步骤:
        1. 导入jar包 druid-1.0.9.jar
        2. 定义配置文件:
            * 是properties形式的
            * 可以叫任意名称,可以放在任意目录下

        3. 加载配置文件。Properties
        4. 获取数据库连接池对象:通过工厂来来获取  DruidDataSourceFactory
        5. 获取连接:getConnection( )



2. 定义工具类

1. 定义一个类 JDBCUtils
        2. 提供静态代码块加载配置文件,初始化连接池对象
        3. 提供方法
            1. 获取连接方法:通过数据库连接池获取连接
            2. 释放资源
            3. 获取连接池的方法

JDBCUtils.java

package cn.itcast.utils;import com.alibaba.druid.pool.DruidDataSourceFactory;import javax.sql.DataSource;
import java.io.IOException;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;/*** Druid连接池的工具类*/
public class JDBCUtils {//1.定义成员变量 DataSourceprivate static DataSource ds ;static{try {//1.加载配置文件Properties pro = new Properties();pro.load(JDBCUtils.class.getClassLoader().getResourceAsStream("druid.properties"));//2.获取DataSourceds = DruidDataSourceFactory.createDataSource(pro);} catch (IOException e) {e.printStackTrace();} catch (Exception e) {e.printStackTrace();}}/*** 获取连接*/public static Connection getConnection() throws SQLException {return ds.getConnection();}/*** 释放资源*/public static void close(Statement stmt,Connection conn){/* if(stmt != null){try {stmt.close();} catch (SQLException e) {e.printStackTrace();}}if(conn != null){try {conn.close();//归还连接} catch (SQLException e) {e.printStackTrace();}}*/close(null,stmt,conn);}public static void close(ResultSet rs , Statement stmt, Connection conn){if(rs != null){try {rs.close();} catch (SQLException e) {e.printStackTrace();}}if(stmt != null){try {stmt.close();} catch (SQLException e) {e.printStackTrace();}}if(conn != null){try {conn.close();//归还连接} catch (SQLException e) {e.printStackTrace();}}}/*** 获取连接池方法*/public static DataSource getDataSource(){return  ds;}}

DruidDemo2.java

package cn.itcast.datasource.druid;import cn.itcast.utils.JDBCUtils;import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;/*** 使用新的工具类*/
public class DruidDemo2 {public static void main(String[] args) {/** 完成添加操作:给account表添加一条记录*/Connection conn = null;PreparedStatement pstmt = null;try {//1.获取连接conn = JDBCUtils.getConnection();//2.定义sqlString sql = "insert into tb1_employee values(null,?,?,?)";//3.获取pstmt对象pstmt = conn.prepareStatement(sql);//4.给?赋值pstmt.setString(1,"王五");pstmt.setInt(2,1);pstmt.setString(3,"163@qq.com");//5.执行sqlint count = pstmt.executeUpdate();System.out.println(count);} catch (SQLException e) {e.printStackTrace();}finally {//6. 释放资源JDBCUtils.close(pstmt,conn);}}}

Druid:数据库连接池实现技术相关推荐

  1. Druid:数据库连接池实现技术,由阿里巴巴提供的

    Druid:数据库连接池实现技术,由阿里巴巴提供的         1. 步骤:             1. 导入jar包 druid-1.0.9.jar             2. 定义配置文件 ...

  2. Druid:数据库连接池实现技术 1

    5 Druid:数据库连接池实现技术,由阿里巴巴提供* 步骤:1.导入jar包 druid-1.0.9.jar mysql-connector-java-8.0.22.jar2.定义配置文件:* 是p ...

  3. Druid数据库连接池就这么简单

    前言 本章节主要讲解Druid数据库连接池,为什么要学Druid数据库连接池呢?? 我的知识储备数据库连接池有两种->C3P0,DBCP,可是现在看起来并不够用阿~当时学习C3P0的时候,觉得这 ...

  4. Druid数据库连接池就是这么简单

    前言 本章节主要讲解Druid数据库连接池,为什么要学Druid数据库连接池呢?? 我的知识储备数据库连接池有两种->C3P0,DBCP,可是现在看起来并不够用阿~当时学习C3P0的时候,觉得这 ...

  5. java银行管理系统(MySql+JDBC+数据库(Druid数据库连接池)+GUI)重要代码有解析注释

    java银行管理系统 小白又来水博客了 文章目录 java银行管理系统 一.项目需求与分析: 二.知识及有关技术的概述: 三.银行管理系统需求的具体实现: 四.部分功能预览: 五.Last: 一.项目 ...

  6. Mysql实现监控数据统计分析:Druid开源分布式系统与阿里巴巴的Druid数据库连接池

    看到Druid很多国内的开发者所熟知的就是阿里巴巴提供的开源数据库连接池工具.如果看了这篇文章还认为Druid仅仅是一个阿里巴巴提供的开源数据库连接池工具那么就错了,它或许指的是用于大数据实时处理的开 ...

  7. Druid数据库连接池超时问题com.alibaba.druid.pool.GetConnectionTimeoutException: wait millis 1000, active 10

    问题描述: com.alibaba.druid.pool.GetConnectionTimeoutException: wait millis 1000, active 10at com.alibab ...

  8. Druid数据库连接池使用参考

    一:添加相应依赖 druid-1.0.9.jar: mysql-connector-java-5.1.48-bin.jar 二:编写properties文件 放置位置在src中: driverClas ...

  9. log4j mysql 异步_spring boot:配置druid数据库连接池(开启sql防火墙/使用log4j2做异步日志/spring boot 2.3.2)...

    一,druid数据库连接池的功能? 1,Druid是阿里巴巴开发的号称为监控而生的数据库连接池 它的优点包括: 可以监控数据库访问性能 SQL执行日志 SQL防火墙 2,druid的官方站: http ...

最新文章

  1. 转载大神的一篇文章----【如何选择开源许可证?】
  2. 搜索和在线阅读 Github 代码的插件推荐
  3. Studio 一些使用
  4. python下载以后在哪找_Python下载要保存到哪
  5. tf入门-池化函数 tf.nn.max_pool 的介绍
  6. 耗时一周,我用Python爬取全国各地大学校花(高清照片和个人信息)
  7. 在线cron时间表达式转换
  8. 如何实时捕捉社会热点?微博热搜数据监测系统-API接口
  9. 文本搜索引擎lucene
  10. 双引号后面要加句号吗_双引号该怎么加?是加在句号或者分号后面还是前面
  11. HDU 5336 BFS
  12. Python实现BF算法
  13. 学习SVM(五)理解线性SVM的松弛因子
  14. 仿淘宝商品界面(html div+css)
  15. 量化交易平台Quantopian学习的笔记(一)
  16. hexo博客设置域名
  17. Android 11 微信友盟分享报错 分享异常 Android 11及以上系统的手机需要使用FileProvider方式分享
  18. python爬取网店数据_如何爬虫天猫店铺数据python
  19. nacl溶解度_科普下氯化钠溶解度
  20. 使用canvas绘制一个动态的表盘

热门文章

  1. C#设计模式之:抽象工厂模式与反射
  2. 织梦CMS调用指定顶级栏目名称的方法
  3. itertools库
  4. 产品定义到产品推广的思路
  5. openssl生成rsa密钥对和密钥格式转换
  6. Python脚本完美解决Linux环境解压.zip文件乱码问题
  7. 工厂三兄弟之简单工厂模式(二)
  8. jsp动作之 getProperty
  9. Android获取手机短信
  10. Flash与组件:国外收费组件网站