您的位置:首页 > 数据库 > Oracle

Tomcat 6.0 配置oracle数据库连接池

2013-06-19 17:40 295 查看
第一种方法:

TomCat6.0数据库连接池配置实例(Oracle 10g数据库)
关键字: 数据库连接池
TomCat6.0数据库连接池配置有几种方式,在这里我介绍一种常用的方法供大家参考:
配置过程分成三个步骤来完成:
第一步:在TomCat6.0的目录下找到context.xml配置文件。(例如:C:/apache-tomcat-6.0.14/conf/context.xml)然后打开context.xml,在标签<context><context/>之间加入如下内容:(为了容易理解,我对配置做了较详细的注释,实际使用时请将注释去掉)
<Resourcename="jdbc/DBPool" <!--数据源名称,最好起一个有意义的名称-->

auth="Container" <!--这个默认无需修改-->

type="javax.sql.DataSource" <!--这个默认无需修改-->

driverClassName="oracle.jdbc.driver.OracleDriver" <!--这里用到的是oracle数据库的驱动包。-->

url="jdbc:oracle:thin:@192.168.1.97:1521:orcl"<!--这里是连接到oracle数据库的url,其中url="jdbc:oracle:thin:@"是固定的,如果访问oracle数据库不在本机上应该将localhost改为oracle数据库所在机子的IP地址,zygora是我的oracle数据库的SID。-->

username="hr"<!--登陆数据库的用户名 -->

password="hr" <!--登陆数据库的密码-->

maxIdle="5" <!--这个默认无需修改-->

maxWait="5000" <!--这个默认无需修改-->

maxActive="10" <!--这个默认无需修改-->

/>
第二步:下载oracle驱动包ojdbc6.jar,拷贝到TomCat6.0目录下的lib目录里。(例如:C:/apache-tomcat-6.0.14/lib)ojdbc6.jar的oracle官方网址我这里一直打不开,CSDN里有该jar包的下载。
第三步:程序中需要数据库连接的地方,只需要编写如下代码:
import javax.sql.DataSource;
import javax.naming.*;
public class GetConnectionTest
{
public static void main(String[] args)
{
try {
Context initContext = new InitialContext();

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

ds =(DataSource)envContext.lookup("jdbc/DBPool");// 这里根据配置更改
Connection conn = ds.getConnection();
} catch (Exception e) {
e.printStackTrace();
}
}
}

第二种方法:

1、首先备份你的$TomcatHome$/conf/server.xml文件($TomcatHome$是指你的tomcat安装路径),然后在节点下添加,即在之前:

path="/sfx" docBase="sfx" debug="5" reloadable="true"crossContext="true">

name="jdbc/myoracle"auth="Container" type="javax.sql.DataSource"
driverClassName="oracle.jdbc.driver.OracleDriver"url="jdbc:oracle:thin:@192.168.148.227:1521:account"username="cac"
password="sudajsj" maxActive="0" maxIdle="10"maxWait="-1" />



解释:path下是要连数据库的工程名,每次要改的;name是自己随便起的名字,但是要记住,后面要用到。driverClassName、url、username、password等是与具体的数据库有关系,这里是oracle为例。

2、下面打开工程sfx下WebRoot下WEB-INF下的web.xml文件,在其根节点下添加数据源的引用设置。

代码

<</SPAN>resource-ref>
jdbc/myoracle
<</SPAN>res-type>javax.sql.DataSource</</SPAN>res-type>
<</SPAN>res-auth>Container</</SPAN>res-auth>
</</SPAN>resource-ref>

3、最后我们在代码中从连接池获得Connection对象。

jsp页面中的代码如下:

<%@ page language="java" contentType="text/html;charset=gb2312"

pageEncoding="gb2312" import="java.sql.*"import="javax.naming.*"

import="javax.sql.DataSource"%>

<%

DataSource ds=null;

Connection con=null;

ResultSet rs=null;

if(ds==null)

{

System.out.println("init DataSource");

//Context context = null;

try {

ContextinitContext = new InitialContext();

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

ds =(DataSource)envContext.lookup("jdbc/myoracle");// 这里根据配置更改

//ds =(DataSource)context.lookup("java:comp/env/jdbc/myoracle");

} catch (NamingException e){

// TODOAuto-generated catch block

e.printStackTrace();

}

}

try {

con=ds.getConnection();

} catch (SQLException e) {

// TODO Auto-generated catchblock

e.printStackTrace();

}



PreparedStatement stmt = null;

try {

stmt =con.prepareStatement("select * from tb_admin");

} catch (SQLException e) {

// TODO Auto-generated catchblock

e.printStackTrace();

}

try {

rs= stmt.executeQuery();

} catch (SQLException e) {

// TODO Auto-generated catchblock

e.printStackTrace();

}

String id="";

if(rs.next())

{

id=rs.getString("admin_id");

}

%>

这样我们就在代码中获得了Connection对象,至于剩下的操作,就完全是jdbc操作了。

千万不要忘记在工程中还要把相应的驱动jar包引入,以及放到tomcat目录下的common/lib下

补充:

以上的方法是作用在所有使用该Tomcat应用服务器的WEB应用都可以通过JNDI来查找和使用该数据库连接池。在TOMCAT_HOME/conf/Catalina/localhost下新建配置文件的方式。比如新建一个Web应用Test,就可以在上面的目录下建立Test.xml文件,在这个文件中配置数据库信息,而不是在TOMCAT_HOME/conf/server.xml文件中,这样就只对Test这个项目有用对其他的没有用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: