`

使用dataSource小结

阅读更多

 

DataSource接口(javax.sql.DataSource)替代DriverManager获取Connection的方法,有以下好处:
可以在部署时灵活更换Connection实现;
可以更好的屏蔽数据库的相关性。

以下以oracle为例说明。

使用厂商DataSource

数据库厂商在提高JDBC2.0和以上版本的JDBC驱动中应该包含厂商的DataSource实现。

OracleDataSource ods = new OracleDataSource();
ods.setUser(”my_user”);
ods.setPassword(”my_password”);
ods.setURL(”jdbc:oracle:thin:@<database>”);
Connection conn = ods.getConnection();
第三方DataSource

第三方厂商也可提供DataSource实现,比如免费开源的有DBCP,C3P0和proxool等,中间件厂商比如ibm的websphere,bea的weblogic等也都有实现。

以下是DBCP的示例:

BasicDataSource basicDataSource = new BasicDataSource(); basicDataSource.setDriverClassName(”oracle.jdbc.OracleDriver”); basicDataSource.setUrl(”jdbc:oracle:thin:@<database>”); basicDataSource.setUsername(”user”);basicDataSource.setPassword(”password”); Connection connection=basicDataSource.getConnection();
结合JNDI的DataSource

以tomcat为例,将数据库驱动库复制到{tomcat}/commmon/lib目录下。

配置{tomcat}/conf/context.xml文件,加入:

<Resource name=”jdbc/demo” auth=”Container” type=”javax.sql.DataSource”
        driverClassName=”org.apache.derby.jdbc.ClientDriver”
        url=”jdbc:derby://localhost:1527/demo”
        username=”test”
        password=”test”
        maxActive=”2″
        maxIdle=”1″
        removeAbandoned=”true”
        maxWait=”300″ />

在程序中访问DataSource:

Context initContext = new InitialContext();

// 注意: 以下写法只适用于tomcat(java:/comp/env).
Context envContext = (Context) initContext.lookup(”java:/comp/env”);
dataSource = (DataSource) envContext.lookup(”jdbc/demo”);

 

配置内容也可以加到webapp/META-INF/context.xml文件中,这样更便于打包部署。

分享到:
评论
1 楼 至尊宝_唯一 2012-03-22  
写的似乎有点简单了,能谈谈各种datasource的优缺点吗或者具体的使用细则

相关推荐

    DataSource

    总结起来,DataSource是Java应用连接数据库的重要工具,通过JNDI进行管理和查找,能有效提高系统性能和资源利用率。正确配置和使用DataSource是构建健壮、高性能的企业级应用的基础。理解并熟练掌握DataSource的使用...

    spring中dataSource的配置以及配合IOC的使用

    总结,`dataSource`在Spring中的配置和使用是关键的数据库连接管理部分,结合IOC可以使我们更方便地管理和控制数据库连接,提高代码的可读性和可维护性。同时,Spring提供的`JdbcTemplate`等工具简化了数据库操作,...

    建立增强BW datasource

    ### 建立增强BW Datasource:使用User Exit增强Datasource #### 一、引言 SAP Business Information Warehouse(简称SAP BW)作为一款强大的数据仓库解决方案,提供了丰富的预配置对象,统称为“Business Content...

    datasource

    总结来说,DataSource是Java应用中管理数据库连接的重要工具,它通过数据连接池技术提高了系统性能,降低了资源消耗,并提供了更高级别的连接管理和监控功能。理解并正确使用DataSource对于任何涉及数据库操作的Java...

    mybatis-plus-dynamic-datasource

    总结起来,mybatis-plus-dynamic-datasource 为开发者提供了一种优雅的方式去管理和切换多数据源,同时保持了 MyBatis-Plus 的强大功能,使得在复杂业务场景下的数据库操作变得更为便捷和可控。在实际项目中,合理...

    自己总结的学习笔记,请大家批评指正 datasource

    总结来说,DataSource是Java Web应用中管理数据库连接的重要工具,通过Struts-config.xml配置和JNDI查找,我们可以方便地在Struts框架中使用它。正确理解和配置DataSource,对优化数据库操作性能、提高应用的健壮性...

    解决WinForm设置 DataSource 属性后无法修改项集合

    4. **手动构建 Item 集合**:最后,如果需要对项集合进行更精细的控制,也可以选择不使用 `DataSource` 属性,而是手动创建和维护 `Items` 集合。虽然这种方法比较繁琐,但对于某些特定的需求来说可能是最合适的解决...

    SpringBoot多数据源配置(方式五:使用dynamic-datasource动态数据源插件).docx

    ### Spring Boot 多数据源配置(使用 dynamic-datasource 动态数据源插件) #### 一、多数据源背景及介绍 在 Spring Boot 应用开发过程中,开发者通常会为项目配置一个单一的数据源来执行数据库操作。然而,在某些...

    treeview的datasource类

    总结,`TreeView`的`DataSource`类为我们提供了一种简洁的方式来呈现层次结构数据。通过合理设计数据源,结合适当的编程逻辑,我们可以轻松地创建出具有子父级关系的`TreeView`。在实际开发中,应根据项目需求,灵活...

    DataSource控件与GridView控件的数据绑定

    总结,DataSource控件和GridView控件结合使用,能够方便地在ASP.NET Web Forms应用程序中实现数据的展示、编辑和删除功能。通过配置DataSource控件连接数据库,以及设置GridView的各种属性和事件,可以构建出功能...

    java SpringMVC动态数据源的DataSource工具类

    总结来说,Java SpringMVC动态数据源的实现主要包括以下关键点: 1. 创建一个`MultiDataSource`工具类,用于管理多个数据源。 2. 实现`DbInfoObserver`类,监听并处理数据源状态变化。 3. 使用AOP或拦截器在业务逻辑...

    C3P0 DataSource Pool

    ### 总结 C3P0 作为一个成熟的数据源管理工具,虽然在某些方面可能不如最新的连接池实现,但它提供了丰富的配置选项和良好的兼容性。开发者可以根据项目需求和环境选择合适的连接池实现。通过理解和配置 C3P0,我们...

    sentinel-datasource

    总结起来,"sentinel-datasource" 主要涉及的知识点包括: 1. Sentinel 规则的重要性及其在服务稳定性中的角色。 2. 使用 ZooKeeper 作为 Sentinel 规则的持久化存储。 3. 集成 Sentinel 和 ZooKeeper 的依赖引入及...

    Websphere服务器中配置DataSource

    总结,配置Data Source是J2EE应用程序部署的关键步骤,尤其是在Websphere和Tomcat这样的服务器环境中。正确配置Data Source可以确保应用程序能够无缝地与各种数据库进行交互,从而实现高效的数据存取和管理。在实践...

    datasource.zip

    总结来说,"datasource.zip"中的代码实例演示了如何在SpringBoot应用中使用MyBatis和Druid实现多数据源的切换和管理。理解并掌握这些技术可以帮助开发者构建更灵活、可扩展的数据库驱动型应用。

    mysql-oracle-dynamic-datasource.zip

    总结一下,"mysql-oracle-dynamic-datasource.zip"是一个实现了多数据源切换的框架,它利用SpringBoot的自动化配置和MyBatis的简单映射能力,使得在MySQL和Oracle之间灵活切换成为可能。开发者可以专注于业务逻辑,...

    dataSource数据库连接池的使用)

    #### 五、总结 通过上述步骤,我们成功地在Tomcat 5.0.1环境中配置了一个数据库连接池,并演示了如何在Java代码中使用它。这种方式不仅能够提高应用的性能,还能够简化数据库连接的管理过程。希望本文能够帮助...

    datasource导出Excel的类

    根据提供的信息,我们可以总结出以下知识点: ### 一、知识点概览 1. **类库导入**: 本类使用了多种.NET Framework中的命名空间,包括系统处理、数据操作、Web控制等。 2. **类定义**: `ExcelHelper` 类用于帮助...

    DEV control使用小结

    下面是关于DEV control使用小结的知识点总结: 1. GridControl和GridView的关系:GridControl是一个容器,用于容纳多个GridView、CardView、XXXXView等控件。GridView是GridControl的子控件,负责显示实际数据。要...

Global site tag (gtag.js) - Google Analytics