美文网首页
数据库连接池:Druid

数据库连接池:Druid

作者: hemiao3000 | 来源:发表于2020-04-25 22:11 被阅读0次

本片内容收录在我的在线笔记 java-note-for-free 中。

笔记源文件在 gitee 中。

本片内容收录在我的在线笔记 java-note-for-free 中。

笔记源文件在 gitee 中。

Druid 阿里巴巴公司开源的一款数据库连接池。在功能、性能、扩展性方面,都超过它的先辈。

虽然晚于 Druid 的 HikariCP 数据库对外宣称是性能最快的数据库连接池,而且 Druid 方面也并未对此说法作出反驳。但一般看法是 HikariCP 数据库的性能对于 Druid 不具备压倒性优势。

简单使用

  • pom.xml

    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>8.0.17</version>
    </dependency>
    
    <dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>druid</artifactId>
      <version>1.1.20</version>
    </dependency>
    
  • 简单示例:

    Properties properties = new Properties();
    properties.setProperty("driver", "com.mysql.jdbc.Driver");
    properties.setProperty("url", "jdbc:mysql://127.0.0.1:3306/scott?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8&useSSL=false");
    properties.setProperty("username", "root");
    properties.setProperty("password", "123456");
    
    DataSource dataSource = DruidDataSourceFactory.createDataSource(properties);
    Connection connection = dataSource.getConnection();
    
    System.out.println(connection == null ? "not connected" : "connected");
    

结合配置文件使用

配置文件:

  • jdbc.properties

    driver=com.mysql.cj.jdbc.Driver
    url=jdbc:mysql://127.0.0.1:3306/scott?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8&useSSL=false
    username=root
    password=123456
    

从配置文件中加载配置信息,并创建数据库连接池:

  • 代码:

    InputStream is = Thread.currentThread().getContextClassLoader().getResourceAsStream("jdbc.properties");
    
    Properties properties = new Properties();
    properties.load(is);
    
    DataSource dataSource = DruidDataSourceFactory.createDataSource(properties); // Druid
    Connection connection = dataSource.getConnection();
    
    System.out.println(connection == null ? "not connected" : "connected");
    

Druid 中的工具类:JdbcUtils

Druid 的 com.alibaba.druid.util 包下有若干工具类,其中 JdbcUtils 中提供了我们常见 JDBC 操作的封装。

其中,

  • 增删改 SQL 操作,可以使用 .executeUpdate() 方法简化代码。

  • 查询 SQL 操作,可以使用 .executeQuery() 方法简化代码。

另外,.close() 方法 .printResultSet() 也很有实用价值。

相关文章

网友评论

      本文标题:数据库连接池:Druid

      本文链接:https://www.haomeiwen.com/subject/bpvlwhtx.html