context mysql 数据源_配置数据源(mysql)

本文详细介绍了如何在MySQL和Tomcat环境下配置数据库连接池,包括将DataSource设置在WEB项目中和Tomcat中两种方法。涉及XML配置、JNDI查找以及相关属性设置,并提供了Java代码示例来获取Connection对象。通过这种方式,可以更有效地管理和使用数据库连接。
摘要由CSDN通过智能技术生成

这几天在弄个小东西,要用到数据库,以前就听说过数据库连接池这个概念,所以就打算在这个小东西中加入数据库连接池。呵呵。从网上搜了一些资料。今天就整理一下。我搜到的设置基本上主要有两种方法我们以MySQL+TOMCAT为例, MySQL驱动文件不仅要在工程lib目录下,也要在Tomcat的lib目录下。

1.把DataSource设置到我们的WEB项目中,下面详细的介绍下:

第一步:在我们的WEB项目中的META-INF文件夹下建立一个context.xml

Xml代码 d7d454600f77758df47d870acbf00b9c.png7a1e7afc0f2addbbdb746966b60e9e4a.png

ffb34937a6f01b9d5cc633a2ffcdf885.png<?xmlversion ='1.0'encoding='utf-8'?>

auth="Container"

type="javax.sql.DataSource"

driverClassName="com.mysql.jdbc.Driver"

url="jdbc:mysql://localhost/bbs"

username="root"

password="root"

maxActive="50"

maxIdle="20"

maxWait="10000"/>

auth="Container"

type="javax.sql.DataSource"

driverClassName="com.mysql.jdbc.Driver"

url="jdbc:mysql://localhost/bbs"

username="root"

password="root"

maxActive="50"

maxIdle="20"

maxWait="10000" />

第二步:在我们的WEB项目下的WEB-INF文件夹下建立一个web.xml(如果存在了就不用了,直接修改就行了)

(这几天测试了一下,不做这步也可以,O(∩_∩)O哈哈~省事了)

Xml代码 d7d454600f77758df47d870acbf00b9c.png7a1e7afc0f2addbbdb746966b60e9e4a.png

ffb34937a6f01b9d5cc633a2ffcdf885.png

DB Connection

jdbc/mysql

javax.sql.DataSource

Container

DB Connection

jdbc/mysql

javax.sql.DataSource

Container

第三步:我们就可以用代码来获取Connection对象了

Java代码 d7d454600f77758df47d870acbf00b9c.png7a1e7afc0f2addbbdb746966b60e9e4a.png

ffb34937a6f01b9d5cc633a2ffcdf885.pngpackagexushun.util;

importjava.sql.*;

importjavax.sql.*;

importjavax.naming.*;

publicclassDBHelper {

publicstaticConnection getConnection()throwsSQLException,NamingException

{

// 初始化查找命名空间

Context initContext = newInitialContext();

Context envContext = (Context)initContext.lookup("java:/comp/env");

// 找到DataSource

DataSource ds = (DataSource)envContext.lookup("jdbc/mysql");

returnds.getConnection();

}

}package xushun.util;

import java.sql.*;

import javax.sql.*;

import javax.naming.*;

public class DBHelper {

public static Connection getConnection() throws SQLException,NamingException

{

// 初始化查找命名空间

Context initContext = new InitialContext();

Context envContext = (Context)initContext.lookup("java:/comp/env");

// 找到DataSource

DataSource ds = (DataSource)envContext.lookup("jdbc/mysql");

return ds.getConnection();

}

}

2.把DataSource设置到我们的Tomcat中,下面详细的介绍下(测试用的JAVA代码和上面的一样就不帖出了):

这里我查到的设置方法就有了一点区别了。有的人把DataSource设置在Tomcat的server.xml文件的GlobalNamingResources下面,然后在context.xml中去映射。有的直接就写在context.xml中了

先说下在server.xml添加DataSource

第一步:在Tomcat的conf中的server.xml文件中找到

Xml代码 d7d454600f77758df47d870acbf00b9c.png7a1e7afc0f2addbbdb746966b60e9e4a.png

ffb34937a6f01b9d5cc633a2ffcdf885.png

type="org.apache.catalina.UserDatabase"

description="User database that can be updated and saved"

factory="org.apache.catalina.users.MemoryUserDatabaseFactory"

pathname="conf/tomcat-users.xml"/>

type="org.apache.catalina.UserDatabase"

description="User database that can be updated and saved"

factory="org.apache.catalina.users.MemoryUserDatabaseFactory"

pathname="conf/tomcat-users.xml" />

修改为

Xml代码 d7d454600f77758df47d870acbf00b9c.png7a1e7afc0f2addbbdb746966b60e9e4a.png

ffb34937a6f01b9d5cc633a2ffcdf885.png

type="org.apache.catalina.UserDatabase"

description="User database that can be updated and saved"

factory="org.apache.catalina.users.MemoryUserDatabaseFactory"

pathname="conf/tomcat-users.xml"/>

auth="Container"type="javax.sql.DataSource"

driverClassName="com.mysql.jdbc.Driver"

maxIdle="20"

maxWait="5000"

username="root"

password="admin"

url="jdbc:mysql://localhost:3306/bbs"

maxActive="100"

removeAbandoned="true"

removeAbandonedTimeout="60"

logAbandoned="true"/>

type="org.apache.catalina.UserDatabase"

description="User database that can be updated and saved"

factory="org.apache.catalina.users.MemoryUserDatabaseFactory"

pathname="conf/tomcat-users.xml" />

auth="Container" type="javax.sql.DataSource"

driverClassName="com.mysql.jdbc.Driver"

maxIdle="20"

maxWait="5000"

username="root"

password="admin"

url="jdbc:mysql://localhost:3306/bbs"

maxActive="100"

removeAbandoned="true"

removeAbandonedTimeout="60"

logAbandoned="true"/>

第二步:在Tomcat的conf文件夹下的context.xml中加入

Xml代码 d7d454600f77758df47d870acbf00b9c.png7a1e7afc0f2addbbdb746966b60e9e4a.png

ffb34937a6f01b9d5cc633a2ffcdf885.png

第三步:就是在WEB项目的WEB-INF中的web.xml添加

Xml代码 d7d454600f77758df47d870acbf00b9c.png7a1e7afc0f2addbbdb746966b60e9e4a.png

ffb34937a6f01b9d5cc633a2ffcdf885.png

DB Connection

jdbc/mysql

javax.sql.DataSource

Container

DB Connection

jdbc/mysql

javax.sql.DataSource

Container

还有就是在Tomcat文档中提到的方法,直接修改context.xml文件了

在Tomcat的conf文件夹下的context.xml中加入

Xml代码 d7d454600f77758df47d870acbf00b9c.png7a1e7afc0f2addbbdb746966b60e9e4a.png

ffb34937a6f01b9d5cc633a2ffcdf885.png

auth="Container"type="javax.sql.DataSource"

driverClassName="com.mysql.jdbc.Driver"

maxIdle="20"

maxWait="5000"

username="root"

password="admin"

url="jdbc:mysql://localhost:3306/bbs"

maxActive="100"

removeAbandoned="true"

removeAbandonedTimeout="60"

logAbandoned="true"/>

auth="Container" type="javax.sql.DataSource"

driverClassName="com.mysql.jdbc.Driver"

maxIdle="20"

maxWait="5000"

username="root"

password="admin"

url="jdbc:mysql://localhost:3306/bbs"

maxActive="100"

removeAbandoned="true"

removeAbandonedTimeout="60"

logAbandoned="true"/>然后就是在WEB项目的WEB-INF中的web.xml添加

Xml代码 d7d454600f77758df47d870acbf00b9c.png7a1e7afc0f2addbbdb746966b60e9e4a.png

ffb34937a6f01b9d5cc633a2ffcdf885.png

DB Connection

jdbc/mysql

javax.sql.DataSource

Container

DB Connection

jdbc/mysql

javax.sql.DataSource

Container

就是这些了,如果有什么不太清楚的就留言,一起研究下。等以后我在搜集下资料整理出上面用到的XML文件中各个标签的属性及其代表的意思。有兴趣的也可以自己先查下。:-)

JNDI 查找名称       关联的引用java:comp/env      应用程序环境条目java:comp/env/jdbc JDBC 数据源资源管理器连接工厂java:comp/env/ejb  EJB 引用java:comp/UserTransactionUserTransaction 引用java:comp/env/mail JavaMail 会话连接工厂java:comp/env/url  URL 连接工厂java:comp/env/jms  JMS 连接工厂和目标java:comp/ORB      应用程序组件之间共享的 ORB 实例

参考如下

posted on 2012-07-27 19:29 Terry Zou 阅读(2889) 评论(0)  编辑  收藏 所属分类: Tomcat+Eclipse

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值