`
wyzuomumu
  • 浏览: 108069 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

配置数据源(DataSource)

    博客分类:
  • JAVA
阅读更多
DataSource对象是由Tomcat提供的,因此不能在程序中采用创建一个实例的方式来生成DataSource对象。

所以数据源的配置涉及修改server.xml(Tomcat)和web.xml文件,在server.xml中加入定义数据源的元素<Resource>,在web.xml中加入<resource-ref>元素,声明该web应用所引用的数据源。

1.在server.xml中加入<Resource>元素

<Resource>元素用来定义JNDI Resource.在Tomcat中,Data Source是JNDI Resource的一种。以下代码为bookstore应用定义了一个名为jdbc/BookDB的数据源。
<Context path="/bookstore" docBase="bookstore" debug="0" reloadable="true">
          <Resource name="jdbc/BookDB" auth="Container" type="javax.sql.DataSource"/>
          <ResourceParams name="jdbc/BookDB">
              <parameter>
                  <name>factory</name>
                  <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
              </parameter>
             
              <!-- Maximum number of DB connections in pool.Make sure you configure your mysql max_connections large enough to handle all of your dbconnections.Set to 0 for no limit -->
              <parameter>
                  <name>maxActive</name>
                  <value>100</value>
              </parameter>
             
              <!-- Maximum number of idle DB connections to retain in pool.Set to 0 for no limit -->
              <parameter>
                  <name>maxIdle</name>
                  <value>30</value>
              </parameter>
             
              <!-- Maximum time to wait for a DB connection to become available in ms.In this example 10 seconds.An Exception is thrown if this timeout is exceeded.Set to -1 to wait indefinitely -->
              <parameter>
                  <name>maxWait</name>
                  <value>1000</value>
              </parameter>
             
              <!-- MYSQL DB username and password for DB connections -->
              <parameter>
                  <name>username</name>
                  <value>dbuser</value>
              </parameter>
             
              <parameter>
                  <name>password</name>
                  <value>1234</value>
              </parameter>
             
              <!-- Class name for mysql JDBC Driver -->
              <parameter>
                  <name>driverClassName</name>
                  <value>com.mysql.jdbc.Driver</value>
              </parameter>
             
              <!-- The JDBC connection url for connecting to your MYSQL DB.The autoReconnect=true argument to the url make sure that the mysql JDBC Driver will automatically reconnect if mysql closed the connection. Mysql by default closed idle connections after 8 hours -->
              <parameter>
                  <name>url</name>
                  <value>jdbc:mysql://localhost:3306/BookDB?autoReconnect=true</value>
              </parameter>
             
          </ResourceParams>
      </Context>


以上代码定义了<Resource>和<ResourceParams>元素。

2.在web.xml中加入<resource-ref>元素

如果web应用访问了由servlet容器管理的某个JNDI Resource的引用。表示资源引用的元素为<resource-ref>,以下是声明引用jdbc/BookDB数据源的代码:
<web-app>
       <resource-ref>
           <description>DB Connection</description>
           <res-ref-name>jdbc/BookDB</res-ref-name>
           <res-type>javax.sql.DataSource</res-type>
           <res-auth>Container</res-auth>
       </resource-ref>
   </web-app>


3.通过数据源访问数据库
//建立数据库连接

Context ctx = new InitialContext();

DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/BookDB");

Connection con = ds.getConnection();

其他的操作就和用JDBC访问数据库一样了.
分享到:
评论

相关推荐

    guns企业版多数据源配置集成dynamic-datasource.doc

    guns企业版多数据源配置,集成dynamic-datasource,同时支持mysql,oracle,支持多数据源数据分页

    配置datasource

    本文将深入探讨如何在Tomcat服务器中配置数据源,具体步骤及注意事项,确保应用程序能够高效、稳定地访问数据库资源。 ### 一、理解数据源(DataSource) 数据源(DataSource)是J2EE/JEE标准中用于数据库连接池...

    spring boot多数据源配置

    2. 配置数据源 在`application.yml`或`application.properties`文件中,为每个数据源定义配置: ```yaml spring: datasource: primary: # 主数据源 driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:...

    DruidDataSource数据源配置详解

    可以帮助你了解,以及配置实现DruidDataSource数据源的配置

    springboot v2.0.3版本多数据源配置方法

    Spring Boot v2.0.3版本多数据源配置方法 在Spring Boot v2.0.3版本中,配置多数据源是一项重要的任务。本文将详细介绍如何配置多数据源,包括之前的配置方法和升级到v2.0.3版本后的变化。 之前的多数据源配置方法...

    MyEclipse配置数据源

    在IT领域,特别是软件开发与数据库管理中,配置数据源是一项关键任务,它涉及到应用程序如何连接和访问数据库。本文将详细解析如何在MyEclipse环境中配置数据源,以实现与数据库的有效交互,主要聚焦于使用Microsoft...

    SpringBoot配置多数据源实现动态切换数据源

    本文将深入探讨如何在SpringBoot项目中配置多数据源,并实现数据源的动态切换,帮助你理解和掌握这一核心技能。 首先,我们理解"多数据源"的概念。在SpringBoot应用中,多数据源意味着系统能够连接并操作多个不同的...

    spring mvc 配置多数据源

    ### Spring MVC 中配置多数据源详解 在Spring框架中配置多数据源的需求比较常见,尤其在需要处理不同类型的数据库或需要实现数据隔离的应用场景中。本文将详细介绍如何在Spring MVC项目中配置并使用多数据源。 ###...

    spring mvc配置datasource数据源的三种方式

    spring mvc配置datasource数据源的三种方式,对spring的数据库连接源配置,有很大帮助,使你更加准确地了解数据源、连接池的实际使用方法

    SpringMVC配置多数据源实战

    在SpringMVC框架中配置多数据源是一项常见的需求,尤其在大型企业级应用中,由于业务的复杂性,往往需要连接不同的数据库以满足不同模块的需求。以下将详细讲解如何实现这一功能。 首先,理解数据源(DataSource)...

    springboot多数据源配置(sqlserver,mysql)

    5. **配置数据源路由**:使用`AbstractRoutingDataSource`可以根据业务需求动态选择数据源。例如: ```java @Configuration public class DynamicDataSourceConfig extends AbstractDataSource { @Autowired ...

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

    // 配置数据源的方法,可以使用Apache DBCP、HikariCP等连接池 private DataSource configureDataSource(DataSourceConfig config) { // ... } } ``` 接下来,`DbInfoObserver.java`文件可能是一个观察者模式的...

    jboss配置数据源

    jboss配置数据源 jboss配置数据源是指在jboss服务器上配置oracle数据库的数据源,以便在jboss应用程序中使用oracle数据库。下面是jboss配置数据源的详细步骤: 首先,需要将oracle的JDBC驱动程序复制到ClassPath下...

    详细介绍在tomcat中配置数据源原理

    Tomcat 中配置数据源原理详解 在本文中,我们将详细介绍在 Tomcat 中配置数据源的原理。数据源是指Java应用程序连接数据库的接口,通过配置数据源,我们可以在 Java 应用程序中访问数据库。 首先, let's talk ...

    spring数据源配置

    数据源(DataSource)在Spring中的配置对于实现持久层操作至关重要。 #### 二、Spring中的数据源配置方式 Spring框架支持多种数据源的配置方式,包括但不限于基于XML的配置、基于注解的配置以及基于Java配置的方式...

    tomcat5.5+eclipse+sql server2000 配置数据源详细过程

    ### Tomcat5.5+eclipse+SQL Server2000 配置数据源详细步骤 #### 一、概述 本文旨在详细介绍如何在Tomcat5.5环境下配置SQL Server2000的数据源,并结合Eclipse进行开发环境的搭建。在实际操作过程中,可能会遇到...

    mybatis-plus多数据源/动态数据源配置示例代码

    - 对于每个数据源,需要创建一个SqlSessionFactoryBean,并设置对应的DataSource,然后将其注入到MyBatis-Plus的配置中。 4. **切换数据源**: - 在业务代码中,可以通过设置ThreadLocal变量来保存当前数据源的...

    Spring Boot+Jpa多数据源配置Demo(支持不同数据库)

    在Spring Boot中,我们可以通过创建不同的`DataSource` bean来配置多个数据源。每个数据源通常会有一个对应的`JdbcTemplate`或`JpaEntityManagerFactory`。首先,我们需要在`application.yml`或`application....

    Spring Boot多数据源(JdbcTemplate)配置与使用

    2. 配置数据源:在`application.properties`或`application.yml`中为每个数据源定义配置。例如,有两个数据源`primary`和`secondary`,配置如下: ```properties # 主数据源配置 spring.datasource.primary.url=...

    springboot多数据源,DruidDataSource多数据源切换,不重启项目,修改数据库名解决方案

    项目背景: 1. Springboot项目 ... 一个主数据源,数据名称库不变。 3. 一个副数据源,数据库名称每天都在变,比如今天1号,是db_01; 明天2号,是db_02。 4.不重启项目切换数据源。 5.项目介绍: ...

Global site tag (gtag.js) - Google Analytics