• Java DataSource


    ojdbc的jar包

    在使用连接oracle数据库的时候尽量使用服务端E:app80953product11.2.0dbhome_1jdbclib下的jar包,否则可能会出错!

    在JDK 1.6 中的注释

    public interface DataSourceextends CommonDataSource, Wrapper

    该工厂用于提供到此 DataSource 对象所表示的物理数据源的连接。作为 DriverManager 工具的替代项,DataSource 对象是获取连接的首选方法。实现 DataSource 接口的对象通常在基于 JavaTM Naming and Directory Interface (JNDI) API 的命名服务中注册。

    DataSource 接口由驱动程序供应商实现。共有三种类型的实现:

    1. 基本实现 - 生成标准的 Connection 对象
    2. 连接池实现 - 生成自动参与连接池的 Connection 对象。此实现与中间层连接池管理器一起使用。
    3. 分布式事务实现 - 生成一个 Connection 对象,该对象可用于分布式事务,大多数情况下总是参与连接池。此实现与中间层事务管理器一起使用,大多数情况下总是与连接池管理器一起使用。
      DataSource 对象的属性在必要时可以修改。例如,如果将数据源移动到另一个服务器,则可更改与服务器相关的属性。其优点在于,由于可以更改数据源的属性,所以任何访问该数据源的代码都无需更改。

    通过 DataSource 对象访问的驱动程序本身不会向 DriverManager 注册。通过查找操作获取 DataSource 对象,然后使用该对象创建 Connection 对象。使用基本的实现,通过 DataSource 对象获取的连接与通过 DriverManager 设施获取的连接相同。

    从以下版本开始:
    1.4

    获取Connection的方式

    1. DriverManager

    Class.forName(driverClass);
    Connection conn = DriverManager.getConnection(jdbcUrl, user, password);
    

    2. DataSource

    dataSource.getConnection();
    

    DataSource的实现

    1. 驱动自带

    // Oracle
    oracle.jdbc.pool.OracleDataSource
    

    2. 连接池

    // C3P0
    com.mchange.v2.c3p0.ComboPooledDataSource
    
    <!-- https://mvnrepository.com/artifact/com.mchange/c3p0 -->
    <dependency>
    	<groupId>com.mchange</groupId>
    	<artifactId>c3p0</artifactId>
    	<version>0.9.5.2</version>
    </dependency>
    
    // DBCP
    org.apache.commons.dbcp2.BasicDataSource
    
    <!-- https://mvnrepository.com/artifact/org.apache.commons/commons-dbcp2 -->
    <dependency>
    	<groupId>org.apache.commons</groupId>
    	<artifactId>commons-dbcp2</artifactId>
    	<version>2.4.0</version>
    </dependency>
    		
    // Druid
    com.alibaba.druid.pool.DruidDataSource
    
    <!-- https://mvnrepository.com/artifact/com.alibaba/druid -->
    <dependency>
    	<groupId>com.alibaba</groupId>
    	<artifactId>druid</artifactId>
    	<version>1.1.10</version>
    </dependency>
    

    参考资料

  • 相关阅读:
    团队作业6——展示博客(alpha阶段)
    第八天敏捷冲刺
    第七天敏捷冲刺
    第六天敏捷冲刺
    第五天敏捷冲刺
    第四天敏捷冲刺
    第三天敏捷冲刺
    linux查询内存使用情况
    input hidden 属性
    于Java网络爬虫---模拟txt文件上传操作。
  • 原文地址:https://www.cnblogs.com/huangwenjie/p/9290517.html
Copyright © 2020-2023  润新知