JDBC技术(四):阿里巴巴的Druid数据库连接池、Apache的DBUtils

本文主要内容:阿里巴巴的Druid数据库连接池、Apache的DBUtils

一、使用数据库连接池连接MySQL数据库

常见数据库连接池

  1. C3P0:是一个开放源代码的JDBC连接池,它在lib目录中与Hibernate一起发布,包括了实现jdbc3和jdbc2扩展规范说明的Connection和Statement池的DataSources对象
  2. DBCP:DBCP是一个依赖Jakartacommons-pool对象池机制的数据库连接池。DBCP可以直接的在应用程序中使用
  3. Druid:Druid不仅是一个数据库连接池,还包含一个ProxyDriver、一系列内置的JDBC组件库、一个SQL Parser,支持所有JDBC兼容的数据库,包括Oracle、MySql、Derby、Postgresql、SQL Server、H2等
  4. 更多数据库连接池请访问数据库连接池.百度百科

以Druid为例,介绍使用数据库连接池连接MySQL数据库

  1. 声明配置文件(druid.properties)
    url=jdbc:mysql://localhost:3306/mt?serverTimezone=UTC&rewriteBatchedStatements=true //第一个参数必须serverTimezone必须添加 第二个参数是开始MySQL批量操作
    username=root
    password=你自己的MySQL密码
    driverClassName=com.mysql.cj.jdbc.Driver
    initialSize=10 //初始池子中的连接数
    maxActive=10 //默认活跃连接数是8,我们初始设置为10就必须更改为10

  2. 使用Druid数据连接池连接MySQL

    //使用Druid连接MySQL数据库,这里使用静态代码块的方式,避免数据库连接池的重复创建
    //注意:使用前需要导包

	private static DataSource source;
	static {
	    Properties pros = new Properties();
	    InputStream is = ClassLoader.getSystemClassLoader().getResourceAsStream("druid.properties");
	    try {
	        if (is != null) {
	             pros.load(is);
	        }
	        source = DruidDataSourceFactory.createDataSource(pros);
	    } catch (Exception e) {
	        e.printStackTrace();
	    }
	}
	public static DataSource getDataSource(){
	     return source;
	 }
	 public static Connection getConnection() {
	    Connection connection = null;
	    try {
	        connection = source.getConnection();
	    } catch (SQLException e) {
	        e.printStackTrace();
	    }
	    return connection;
	}

二、Apache的DBUtils

  1. commons-dbutils是Apache组织提供的一个开源JDBC工具类库,它是对JDBC的简单封装,学习成本极低,并且使用dbutils能极大简化jdbc编码的工作量,同时也不会影响程序的性能

  2. 常用API:

    • org.apache.commons.dbutils.QueryRunner //执行增删改查API

    • org.apache.commons.dbutis.ResultSetHandler //结果集(就是对查询结果的封装)
      JDBC技术(四):阿里巴巴的Druid数据库连接池、Apache的DBUtils_第1张图片
    • 工具类: org.apache.commons.dbutls.DbUtils //可以使用工具类的API来关闭资源连接,如Connection,PreparedStatement等资源的关闭

  3. 注意:使用前需要导包

你可能感兴趣的:(博客数据备份)