美文网首页
数据库连接池: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