tomcat连接常用数据库的用法

一、用于数据库连接的术语:

JDBC:(Java database connectivity)是基于java数据访问技术的一个API通过客户端访问服务器的数据库,是一个面向关系型数据库并提供一种方法查询和更新数据库;

JNDI:(Java naming and directory interface)JNDI服务提供了对应用程序命名和目录功 能的一种用java程序编写的基于API的java平台;

DataSource:是一个通过JDBC API访问关系型数据库的java对象,当与JNDI整合并在JDNI 名称服务中注册后能更好的工作;

二、tomcat连接常用数据库的操作步骤:

(1)Tomcat配置Oracle DataSource:

1、在server.xml全局文件中定义如下内容:

  1. <GlobalNamingResources>
  2. <!-- Editable user database that can also be used by
  3. UserDatabaseRealm to authenticate users-->
  4. <Resource name="jdbc/tomcat7" auth="Container"
  5. type="javax.sql.DataSource"
  6. driverClassName="oracle.jdbc.OracleDriver"
  7. url="jdbc:oracle:thin:@127.0.0.1:1521:test"
  8. description="test database for tomcat 7"
  9. Configuration and Deployment
  10. [ 46 ]
  11. username="admin" password="admin" maxActive="20" maxIdle="10"
  12. maxWait="-1"/>
  13. </GlobalNamingResources>

2、http://www.oracle.com/technetwork/database/enterprise-edition/jdbc-10201-088211.html 下载Oracle JDBC驱动程序类并放在CATALINA_HOME/lib/目录下,tomcat默认只接 受.jar结尾的类,如果是zip压缩格式需要将其重名为.jar结尾,然后放到 CATALINA_HOME/lib/目录下;

3、在应用下面的WEB-INF/web.xml文件中强制定义文档类型定义,示例如下:

  1. <resource-ref>
  2. <description>Oracle Datasource for tomcat </description>
  3. <res-ref-name>jdbc/tomcat7 </res-ref-name>
  4. <res-type>javax.sql.DataSource</res-type>
  5. <res-auth>Container</res-auth>
  6. </resource-ref>

4、开发人员在代码中引用JNDI并连接到数据库;

(2)Tomcat配置mysql DataSource:

1、在server.xml全局文件中定义如下内容:

  1. <Resource name="jdbc/tomcat7" auth="Container"
  2. type="javax.sql.DataSource"
  3. maxActive="100" maxIdle="30" maxWait="10000"
  4. username="tomcatuser" password="tomcat"
  5. driverClassName="com.mysql.jdbc.Driver"
  6. url="jdbc:mysql://localhost:3306/tomcat7"/>

2、在应用下面的WEB-INF/web.xml文件中强制定义文档类型定义,示例如下:

  1. <web-app xmlns="http://java.sun.com/xml/ns/j2ee"
  2. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3. xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
  4. http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
  5. version="2.4">
  6. <description>Tomcat 7 test DB</description>
  7. <resource-ref>
  8. <description>DB Connection</description>
  9. <res-ref-name>jdbc/tomcat7</res-ref-name>
  10. <res-type>javax.sql.DataSource</res-type>
  11. <res-auth>Container</res-auth>
  12. </resource-ref>
  13. </web-app>

3、http://dev.mysql.com/downloads/下载MYSQL JDBC驱动程序类并放在 CATALINA_HOME/lib/目录下,tomcat默认只接受.jar结尾的类,如果是zip压缩格式需 要将其重名为.jar结尾,然后放到CATALINA_HOME/lib/目录下;

4、对连接tomcat的用户授予全部权限,格式如下:

  1. mysql> GRANT ALL PRIVILEGES ON *.* TO [email protected]
  2. IDENTIFIED BY ‘tomcat7‘ WITH GRANT OPTION;
  3. mysql> create database tomcat7;
  4. mysql> use tomcat7;
  5. mysql> create table testdata ( id int not null auto_increment
  6. primary key,foo varchar(25), bar int);
  7. 注:用户密码一定不要为空,否则会造成连接tomcat认证错误;

(3)Tomcat配置Postgresql DataSource:

1、在server.xml全局文件中定义如下内容:

  1. <Resource name="jdbc/tomcat7" auth="Container"
  2. type="javax.sql.DataSource"
  3. driverClassName="org.postgresql.Driver"
  4. url="jdbc:postgresql://127.0.0.1:5432/tomcat7"
  5. username="tomcat7" password="tomcat" maxActive="20" maxIdle="10"
  6. maxWait="-1"/>

2、http://jdbc.postgresql.org/download.html下载PostgreSQL JDBC驱动类并放在 CATALINA_HOME/lib/目录下,tomcat默认只接受.jar结尾的类,如果是zip压缩格式需 要将其重名为.jar结尾,然后放到CATALINA_HOME/lib/目录下;

3、在应用下面的WEB-INF/web.xml文件中强制定义文档类型定义,示例如下:

  1. <resource-ref>
  2. <description>postgreSQL Tomcat datasource </description>
  3. <res-ref-name>jdbc/tomcat7 </res-ref-name>
  4. <res-type>javax.sql.DataSource</res-type>
  5. <res-auth>Container</res-auth>
  6. </resource-ref>

原文地址:https://www.cnblogs.com/smilezgy/p/9545528.html

时间: 2024-11-05 20:28:56

tomcat连接常用数据库的用法的相关文章

linux下tomcat连接mysql数据库

一.下载安装jdk,并配置Java环境官网下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html以jdk-7u79-linux-i586.tar.gz为例:将jdk-7u79-linux-i586.tar.gz解压并放在/usr/local/下:解压方法(tar -zxvf jdk-7u79-linux-i586.tar.gz)以下类似 配置环境变量:在 /etc/profile添加一下语句: export

C#连接常用数据库的DBProviderName配置

为了适应应对各种数据库间切换,我们有时想要要自定义写一个通用的SqlHelper.常用的做法就是在 System.Data.Common.DbProviderFactories.GetFactory(dbProviderName).CreateConnection() ,来返回对应的 数据库的Connection . 直接上测试源码: string dbProviderName = "System.Data.Odbc"; dbProviderName = "System.Da

java基础,JDBC连接常用数据库

一.DB2 Class.forName("Com.ibm.db2.jdbc.net.DB2Driver"); String url="jdbc:db2://dburl:port/DBname" cn = DriverManager.getConnection( url, userName, password ); 二.Microsoft SQLServer(microsoft) Class.forName( "com.microsoft.jdbc.sqls

Tomcat 连接池详解

(转) JDBC 连接池 org.apache.tomcat.jdbc.pool 是Apache-Commons DBCP连接池的一种替换或备选方案. 那究竟为何需要一个新的连接池? 原因如下: Commons DBCP 1.x 是单线程.为了线程安全,在对象分配或对象返回的短期内,Commons 锁定了全部池.但注意这并不适用于 Commons DBCP 2.x. Commons DBCP 1.x 可能会变得很慢.当逻辑 CPU 数目增长,或者试图借出或归还对象的并发线程增加时,性能就会受到影

PHP连接MSSQL数据库的方法,PHPWAMP如何连接MSSQL数据库(极度详细)

最近有用户在使用PHPWAMP的时候,向我咨询一个问题,就是关于PHP如何连接MSSQL数据库. 平时我们搭建网站通常是PHP+Mysql数据库, 不过在项目中,我们有时候必须要用到PHP+MSSQL数据库,那应该怎么办呢? 其实你平时只要多逛逛微软的网站,多看看数据库相关的英文文档,该有的都有, 好了,我们下面演示几个案例吧,分别演示几个主流PHP版本连接MSSQL数据库的方法. 本文演示的是我自己制作的PHP纯绿色集成环境,要是你用的是其他集成环境,或者是自己独立安装的,其实道理是一样的,没

PHP连接MSSQL数据库案例,PHPWAMP多个PHP版本连接SQL Server数据库

课前小知识普及:MSSQL和SQL Server是同一个软件,叫法不同而已,MSSQL全称是Microsoft SQL Server,MSSQL是简写,有些人则喜欢直接叫SQL Server,我就比较喜欢这种叫法,有韵味... 最近有用户在使用PHPWAMP的时候,向我咨询一个问题,就是关于PHP如何连接MSSQL数据库. 平时我们搭建网站通常是PHP+Mysql数据库, 不过在项目中,我们有时候必须要用到PHP+MSSQL数据库,那应该怎么办呢? 本文案例采用的PHP集成环境是我最新发布的版本

JAVA通过JDBC连接Oracle数据库详解【转载】

JAVA通过JDBC连接Oracle数据库详解 (2011-03-15 00:10:03) 转载▼http://blog.sina.com.cn/s/blog_61da86dd0100q27w.html Java连接Oracle步骤: 1.注册加载驱动 驱动名:DRIVER="oracle.jdbc.driver.OracleDriver"; Class.forName("驱动类名"); 2.获得连接 数据库地址: URL="jdbc:oracle:thi

连接访问数据库的技术方法

几种数据库连接方式优缺点比较 访问接口 易用性 运行能力 可扩展性 技术层次 突出特点 ODBC 差 较高 差 底层 可进行底层控制 MFC ODBC 好 一般 高层 同用标准,应用广泛 MFC DAO 好 较高 一般 高层 访问JET性能最好 OLE DB 很难 高 好 底层 可访问非关系型数据库 ADO 最好 高 好 高层 可访问非关系型数据库,有多种编程接口 ODBC 是一种底层的访问技术,因此,ODBC API 可以是客户应用程序能从底层设置和控制数据库,完成一些高级数据库技术无法完成的

大话tomcat之tomcat连接mysql

研究主题:tomcat连接mysql 一.tomcat连接mysql的两种连接方式:简单连接(不使用连接池)使用tomcat连接池 二.简单分析:(简介部分摘自一篇博客,觉得写得非常赞,读了非常有快感,就引用来与大家分享) 对于一个简单的数据库应用,由于对于数据库的访问不是很频繁.这时可以简单地在需要访问数据库时,就创建一个连接,用完后就关闭它这样也不会带来什么明显的性能上的开销.但是对于一个复杂的数据库应用,QPS和TPS都并发很大的时候情况就完全不同了.频繁的建立,关闭连接,会极大的降低系统