数据源(连接池)

数据源一般实现自javax.sql.DataSource接口,Spring、Struts、Hibernate等框架都有自己的数据源,Tomcat中也内置了数据源支持,Tomcat使用Jakarta-CommonsDatabase Connection Pool作为数据源的实现,使用时只需按照Tomcat文档配置即可

数据源可以配置在server.xml中,也可以配置在context.xml中

在context.xml中配置数据源

<Context cookies="true">
      <Resource name="jdbc/databaseWeb"
      auth = "Container"
      type = "javax.sqlDataSource"
      maxActive = "100"
      maxIdle = "30"
      maxWait = "10000"
      username = "root"
      password = "admin"
      driverClassName = "com.mysql.jdbc.Diver"
      url = "jdbc:mysql://localhost:3306/databaseWeb?characterEncoding=utf8">
</Context>

注意此时要把Mysql的驱动放到Tomcat全局的lib里面

然后要在应用程序的web.xml中配置数据源的应用:

<resource-ref>
      <description>DBConnection</description>
      <res-ref-name>jdbc/databaseWeb</res-ref-name>
      <res-type>javax.sql.DataSource</res-type>
      <res-auth>Container</res-auth>
</resource-ref>

在java文件中使用数据源:

Context initContext = new InitialContext();
//获取所有的资源
Context envContext = initContext.lookup("java:/comp/env");
获取JNDI资源
DataSource ds =(DataSource) envContext.lookup("jdbc/databaseWeb");
//获取数据库连接
Connection conn= ds.getConnection();
时间: 2024-10-05 16:18:01

数据源(连接池)的相关文章

DBCP数据源连接池实现原理分析

前些天在调试公司系统的时候发现这样的一个问题:mysql数据库服务停止一段时间后再次重启后吗,tomcat服务无法请求数据库服务,调试了半天对这个问题进行定位解决,期间也搞了很多有关mysql数据库的知识,包括数据库连接池的问题,以前没有遇到问题的时候只知道数据库连接池这个概念和如何配置,但是当遇到问题的时候就要去看怎么实现了,比如很简单的默认的数据库连接池的个数是多少呢,我相信没有看过源代码的是不知道的,答案是8.下面就针对最近学习的org.apache.commons.dbcp.BasicD

spring配置数据源连接池

spring配置详解-连接池配置(转载) 一.连接池概述 数据库连接池概述: 数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出.对数据库连接的管理能显著影响到整个 应用程序的伸缩性和健壮性,影响到程序的性能指标.数据库连接池正是针对这个问题提出来的. 数据库连接池负责分配.管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而再不是重新建立一个:释放空闲时 间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏.这项技术

《java数据源—连接池》

<java数据源-连接池>1.数据源的分类:直接数据源.连接池数据源.2.连接池.数据源.JNDI a.数据源:Java中的数据源就是连接到数据库的一条路径,数据源中并无真正的数据,它仅仅记录的是你连接到哪个数据库,以及如何连接. b.连接池:简单的说就是保存所有的数据库连接的地方,在系统初始化时,将数据库连接对象存储到内存里,当用户需要访问数据库的时候,并不是建立一个新的连接,而是从连接池中 取出一个已经建立好的空闲连接对象.而连接池负责分配.管理.释放数据库连接对象.注意的是:连接池是由容

搭建spring工程配置数据源连接池

Spring作为一个优秀的开源框架,越来越为大家所熟知,前段时间用搭了个spring工程来管理数据库连接池,没有借助Eclipse纯手工搭建,网上此类文章不多,这里给大家分享一下,也作为一个手记. 工程结构: 注意:src目录下的applicationContext.xml是单元测试用的,作为web工程的话就使用WEB-INF下的applicationContext.xml. 1.下载jar包 这里需要下载很多spring的jar包,推荐去官网下载,很多人会说官网只提供maven和gradle下

(转)Tomcat数据源连接池加密

文章来源 :http://my.oschina.net/cimu/blog/164757 我们在使用Tomcat数据库连接池的时候都是明文存储数据库用户名和密码的,例如: <Resource name="ODS" type="javax.sql.DataSource" driverClassName="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@192.168.1

【Mysql】SpringBoot阿里Druid数据源连接池配置

一.pom.xml添加 <!-- 配置数据库连接池 --> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.0</version> </dependency> 二.application.properties 添加 # 连接池配置spring.datasource.type

Spring+Tomcat的JNDI数据源连接池简单配置

使用Tomcat JNDI数据源与Spring一起使用步骤如下: 1.将数据库驱动复制到Tomcat的lib文件夹下面 2.配置Tomcat的server.xml配置文件,在GlobalNamingResources节点下面添加一个Resource节点,如下: <GlobalNamingResources> <!-- Editable user database that can also be used by UserDatabaseRealm to authenticate user

JDBC数据源和连接池

数据库连接池就是在应用程序启动时就创建足够多的数据库连接池,在java程序中需要访问 数据库时就可以通过数据源取得一个空闲连接,用完在返还到连接池中 实例: 在Tomcat6.0中+MySQL5.5数据源和连接池的配置 (1)将数据库的JDBC驱动程序复制到<CATALINA_HOME>/common/lib目录下 (2)在<CATALINA_HOME>/conf/server.xml中配置数据源和连接池,例如 <Context path="/JSP_JDBC&qu

MySql &amp; JDBC &amp; 连接池 &amp; 总结

连接池:解决资源浪费,提高代码性能. 本小节目标: 使用DBCP,C3P0连接池完成基本数据库的操作. 使用DBUtils完成CRUD的操作. 数据库连接池的解决方案是: 当应用程序启动时,系统主动建立足够的数据库连接,并将这些连接组成一个连接池.每次应用程序请求数据库连接时,无须重新打开连接,而是从连接池中取出已有的连接使用,使用完后不再关闭数据库连接,而是直接将连接归还给连接池.通过使用连接池,将大大提高程序的运行效率. 数据库连接池是Connection 对象的工程.数据库连接池的常用参数

数据连接池JNDI

数据库连接有很多中方式,JDBC数据库的连接方式,前边我们已经介绍过了,而开发中我们经常使用的是DataBaseConnectionPool(数据库连接池,DBCP).数据库连接池到底是什么?它比jdbc数据库连接有什么优势呢?它又怎么使用呢? 一,先看一下JDBC连接,每次用户访问数据库时,需要JDBC为我们创建数据库连接,我们使用,然后关闭.而当我们加断点测试,可以发现这个过程中创建数据库连接这个过程是比较费时间的,而不是我们在数据库中操作数据费时间.所以JDBC这种方式的效率大大折扣.而且