链接池

SqlFly内部有一个简易的连接池实现,只需在配置文件配置 ispool=true即可,当然你也可以轻松的集成第三方连接池


集成第三方连接池

1、添加依赖

将 druid-1.1.19.jar 复制到根目录下的 lib 文件夹内

2、配置文件

在项目根目录下创建配置文件 druid.properties ,并复制以下信息

  1. # 连接信息
  2. driverClassName=com.mysql.jdbc.Driver
  3. url=jdbc:mysql://127.0.0.1:3306/sqlfly-demo?useUnicode=true&characterEncoding=utf-8
  4. username=root
  5. password=root123456
3、创建 DruidDataSourceUtil 生成 DataSource

创建 DruidDataSourceUtil.java,并复制以下代码

  1. /** 创建一个druid的数据源 */
  2. public class DruidDataSourceUtil {
  3. private static String propertiesPath = "druid.properties"; // 配置文件地址
  4. private static DataSource dataSource = null;
  5. /** 获取数据源 */
  6. public static synchronized DataSource getDataSource() {
  7. try {
  8. if(dataSource == null) {
  9. // 加载配置文件
  10. InputStream is = DruidDataSourceUtil.class.getClassLoader().getResourceAsStream(propertiesPath);
  11. Properties properties = new Properties();
  12. properties.load(is);
  13. // 创建连接池对象
  14. DruidDataSourceUtil.dataSource = DruidDataSourceFactory.createDataSource(properties);
  15. }
  16. return dataSource;
  17. } catch (Exception e) {
  18. throw new RuntimeException(e);
  19. }
  20. }
  21. }
4、将 DataSource 注入到SqlFly中
  1. @Test
  2. public void test6_1() {
  3. DataSource dataSource = DruidDataSourceUtil.getDataSource(); // 获取 datasource
  4. FlyObjects.setDataSource(dataSource); // 注入到SqlFly框架中
  5. System.out.println(FlyObjects.getDataSource());
  6. // ... 此时再获取 SqlFly,其Connection 就是由druid连接池创建的了
  7. }

至此,大功告成

集成第三方连接池 - springboot版

SpringBoot集成druid的步骤大体与[普通java版]相同,且得益于SpringBoot的依赖注入特性,步骤将更加简单

1、添加依赖

在pom.xml中

  1. <!-- 阿里 druid 连接池 -->
  2. <dependency>
  3. <groupId>com.alibaba</groupId>
  4. <artifactId>druid</artifactId>
  5. <version>1.1.19</version>
  6. </dependency>
2、配置文件

在 application.yml 里,复制以下代码

  1. spring:
  2. # druid连接池相关配置
  3. datasource:
  4. type: com.alibaba.druid.pool.DruidDataSource
  5. driver-class-name: com.mysql.jdbc.Driver
  6. url: jdbc:mysql://127.0.0.1:3306/sqlfly-demo?useUnicode=true&characterEncoding=utf-8
  7. username: root
  8. password: root123456
3、创建 DruidConfig.java 生成 DataSource

在包 com.pj 创建类 DruidConfig.java,并复制以下代码

  1. // 配置 druid 相关信息
  2. @Configuration
  3. public class DruidConfig {
  4. // 返回druid的DataSource
  5. @Bean
  6. @ConfigurationProperties(prefix = "spring.datasource")
  7. public DataSource druid() {
  8. return new DruidDataSource();
  9. }
  10. }
4、测试

SqlFlyDemoApplication.java 里,测试

  1. public static void main(String[] args) {
  2. SpringApplication.run(SqlFlyDemoApplication.class, args); // 启动 springboot
  3. System.out.println(SqlFlyFactory.getSqlFly().getDataSource());
  4. }

如果看到类似以下打印,则证明已经druid已经集成成功

  1. {
  2. CreateTime:"xxxx-xx-xx xx:xx:xx",
  3. ActiveCount:0,
  4. PoolingCount:0,
  5. CreateCount:0,
  6. DestroyCount:0,
  7. CloseCount:0,
  8. ConnectCount:0,
  9. Connections:[
  10. ]
  11. }

其它连接池

如果你能看懂上面两个例子的原理,就不难理解,所谓连接池,本质上不过就是为了构建一个 DataSource 对象而已,明白了这一点,你就可以轻松集成任意连接池了