DataSource:
代表数据源实体
可以代表大型数据库,也可以代表存放数据的文本文件
可以位于服务器端,也可以位于客户端
在开发方面,直观的理解就是:提供Connection的对象
DataSource的优点:
与DriverManager对比
不需要象使用DriverManager一样对加载的数据库驱动程序信息进行硬编码,而是在程序中使用一个逻辑名称来引用数据源
对连接池和分布式事务的支持
连接池:
连接池产生并管理一系列与数据库的连接
原理:在DataSource中事先建立了多个数据库连接,这些数据库连接保存在连接池(Connect Pool)中。Java程序访问数据库时,只需要从连接池中取出空闲状态的数据库连接;当程序访问数据库结束,再将数据库连接放回连接池。
在访问量大的时候,与应用程序自己维护数据库连接相比,优势非常明显
在Tomcat中配置全局数据源
1、在server.xml中加入<Resource>元素<Resource>元素用来定义JNDI Resource
<Resource name="jdbc/TaskDB" auth="Container"
type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="10000"
username="root" password="neddy"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/task?autoReconnect=true"/>
<Resource>元素属性说明
name 指定Resource的JNDI名字
auth 指定管理Resource的Manager,它有两个可选值:Container、Application
type 指定Resource所属的Java类名
maxActive 指定数据库连接池中处于活动状态的最大连接数目,0表示不受限制
maxIdle 指定数据库连接池中处于空闲状态的最大连接数目,0表示不受限制
maxWait 获取数据库连接的最长等待时间,-1表示无限期等待
username 指定连接数据库的用户名
password 指定连接数据库的口令
driverClassName 指定连接数据库的JDBC驱动程序
url 指定连接数据库的URL
2、在web.xml中加入<resource-ref>元素<resource-ref>元素表示在Web应用中引用JNDI资源
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/TaskDB</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
<resource-ref>元素属性说明
description 对所引用的资源的说明
res-ref-name 指定所引用资源的JNDI名字,与<Resource>元素中的name属性对应
res-type 指定所引用资源的类名字,与<Resource>元素中的type属性对应
res-auth 指定所引用资源的Manager,与<Resource>元素中的auth属性对应
3、在tomcat_home/conf/Context.xml加入以下格式的信息做资源映射
<ResourceLink name="jdbc/TaskDB" global="jdbc/TaskDB" type="javax.sql.DataSource"/>
或者在tomcat_home\webapps\应用名\META-INF\context.xml中加入此信息
或者在tomcat_home/conf/localhost/下建立一个xml文件,文件名是“应用名.xml”,里面填加同样的内容
注意:
由于数据源由Servlet容器创建并维护,所以必须把JDBC驱动程序拷贝到Tomcat安装目录下的common/lib目录下,确保Servlet容器能够访问驱动程序
使用DataSource
获得对数据源的引用:
Context ctx = new InitalContext();
DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/TaskDb");
获得数据库连接对象:
Connection con = ds.getConnection();
返回数据库连接到连接池:
con.close();
分享到:
相关推荐
在IT领域,特别是Java应用服务器环境下的开发与部署过程中,数据源(DataSource)的配置是一项至关重要的任务。本文将深入探讨如何在Tomcat服务器中配置数据源,具体步骤及注意事项,确保应用程序能够高效、稳定地...
在Spring Boot应用中,多数据源配置是一项关键的技术,它允许我们同时管理多个数据库,比如主库和从库,或者不同类型的数据库。本教程将详细阐述如何在Spring Boot项目中实现这一功能,从数据源配置、实体管理到...
guns企业版多数据源配置,集成dynamic-datasource,同时支持mysql,oracle,支持多数据源数据分页
可以帮助你了解,以及配置实现DruidDataSource数据源的配置
在Spring Boot应用中,多数据源配置是一项重要的技术实践,特别是在大型系统中,可能需要连接到多个数据库以实现数据隔离、读写分离或是分布式事务管理。Spring Boot以其强大的自动化配置能力,使得设置多数据源变得...
本文将深入探讨如何在SpringBoot项目中配置多数据源,并实现数据源的动态切换,帮助你理解和掌握这一核心技能。 首先,我们理解"多数据源"的概念。在SpringBoot应用中,多数据源意味着系统能够连接并操作多个不同的...
数据源(DataSource)在Spring中的配置对于实现持久层操作至关重要。 #### 二、Spring中的数据源配置方式 Spring框架支持多种数据源的配置方式,包括但不限于基于XML的配置、基于注解的配置以及基于Java配置的方式...
3. **配置主数据源**:Spring Boot默认会使用名为`dataSource`的Bean作为主数据源。如果希望指定主数据源,可以使用`@Primary`注解: ```java @Primary @Bean(name = "dataSource") public DataSource ...
在Spring Boot中,我们可以通过创建不同的`DataSource` bean来配置多个数据源。每个数据源通常会有一个对应的`JdbcTemplate`或`JpaEntityManagerFactory`。首先,我们需要在`application.yml`或`application....
### Spring Boot多数据源配置详解 #### 一、引言 在实际的软件开发过程中,随着业务需求的多样化,单一的数据源已经无法满足所有场景的需求。例如,有时我们需要同时访问两个或更多的数据库来完成复杂的业务逻辑,...
在实际项目中,有时我们需要访问多个数据库,这时就需要实现多数据源配置。 在SSM框架中实现多数据源配置,主要涉及以下几个关键步骤和知识点: 1. **配置文件设置**:首先,你需要在`applicationContext.xml`或`...
- 对于每个数据源,需要创建一个SqlSessionFactoryBean,并设置对应的DataSource,然后将其注入到MyBatis-Plus的配置中。 4. **切换数据源**: - 在业务代码中,可以通过设置ThreadLocal变量来保存当前数据源的...
`MultiDataSource`类可能会包含一个HashMap或者其他数据结构,存储了多个数据源,每个数据源都有一个唯一的标识(key)和对应的DataSource实例(value)。例如: ```java @Configuration public class ...
项目背景: 1. Springboot项目 ... 一个主数据源,数据名称库不变。 3. 一个副数据源,数据库名称每天都在变,比如今天1号,是db_01; 明天2号,是db_02。 4.不重启项目切换数据源。 5.项目介绍: ...
本配置示例将详细介绍如何在Spring Boot中整合MyBatis与Oracle数据库,并配置两个不同的数据源。 首先,我们需要理解数据源(DataSource)的概念。数据源是Java应用程序与数据库之间的桥梁,它负责管理数据库连接,...
在SpringMVC框架中配置多数据源是一项常见的需求,尤其在大型企业级应用中,由于业务的复杂性,往往需要连接不同的数据库以满足不同模块的需求。以下将详细讲解如何实现这一功能。 首先,理解数据源(DataSource)...
### Spring MVC 中配置多数据源详解 在Spring框架中配置多数据源的需求比较常见,尤其在需要处理不同类型的数据库或需要实现数据隔离的应用场景中。本文将详细介绍如何在Spring MVC项目中配置并使用多数据源。 ###...
在Spring的配置文件中,为每个数据源创建一个bean,例如`dataSource1`和`dataSource2`,并设置相应的数据库连接参数。 2. 数据源选择策略:Spring提供了AbstractRoutingDataSource类,它可以动态地决定使用哪个数据...
在Spring框架中,数据源(DataSource)的配置是应用程序与数据库交互的核心部分。Spring支持多种数据源配置方式,包括基本的JDBC数据源、连接池数据源以及事务管理策略等。下面将详细介绍Spring中常见的数据源配置...
### Spring Boot 多数据源配置(使用 dynamic-datasource 动态数据源插件) #### 一、多数据源背景及介绍 在 Spring Boot 应用开发过程中,开发者通常会为项目配置一个单一的数据源来执行数据库操作。然而,在某些...