导入项目,用Tomcat自带连接池来配置Oracle数据库
2015-03-31 12:21
471 查看
DataSource ds = (DataSource) context.lookup("java:comp/env/jdbc/test");
由于项目中出现了上面这句、不懂,遂找到下面的解决方案,及补充Tomcat连接池&Oracla的配置方式这里我用的是apache-tomcat-7.0.34,自己用的是什么就拿什么,后面包版本对应就OK了。
配置的步骤:
(1)首先说一下,我项目中,要连接数据的入口:
一个连接池的java类:
package cn.com.jobedu.blog;
import org.apache.commons.dbutils.QueryRunner;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;
public class DbHelper {
public static QueryRunner getQueryRunner() {
DataSource ds = null;
try {
Context context = new InitialContext();
ds = (DataSource) context.lookup("java:/comp/env/jdbc/mysqlDB");
} catch (NamingException e) {
System.out.println("测试");
}
QueryRunner qr = new QueryRunner(ds);
return qr;
}
}
项目中是这样去连接数据源的,首先java:/comp/env/jdbc/是固定的参数。而mysqlDB是我的mysql数据库中的库名
对于 mysql数据库 :
(2)首先找到你的D:\apache-tomcat-7.0.34 \conf目录(自己的tomcat的目录下)修改里面的context.xml 配置,打开,把里面的<Context>注释掉,换成:
<Context reloadable="true">
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<Resource name="jdbc/mysqlDB" auth="Container" type="javax.sql.DataSource"
maxActive="100"
maxIdle="30"
maxWait="10000"
username="root"
password="1234"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/mysqlDB?characterEncoding=utf-8"/>
</Context>
其中mysqlDB是我的mysql的名字(即数据库名),其他的像密码和用户名,就是你自己的,驱动名和url也更加自己的配置,我这里只是mysql数据库的配置方法
接着还是D:\apache-tomcat-7.0.34 \conf目录下找到web.xml配置文件,只要在里面加上:
<resource-ref>
<res-ref-name>jdbc/mysqlDB</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
</resource-ref>
就好了,其中mysqlDB数据库名,type配置固定写法
(3)这个时候,也不要忘记了,在D:\apache-tomcat-7.0.34 \lib目录下,加上对应数据库的驱动包,如我这里加上的mysql-connector-java-5.1.21.jar
到这里tomcat的连接池就配置好了,有报错的情况,检查几个地方数据库的名字是否对应,还有就是你连接数据库的各个参数是否有写错,也别忘记导入驱动包了。这样的话,就可以在java中写sql语句操作数据库了。当然你的数据库里要有这个库,和操作的表。
对于 ORACLE数据库 :
首先找到你的D:\apache-tomcat-7.0.34 \conf目录(自己的tomcat的目录下)修改里面的context.xml 配置,打开,把里面的<Context>注释掉,换成:
<Context>
<!-- Default set of monitored resources -->
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<Resource name="jdbc/ORCL" auth="Container" type="javax.sql.DataSource"
maxActive="100"
maxIdle="30"
maxWait="10000"
username="system"
password="manager"
driverClassName="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@127.0.0.1:1521:ORCL"/>
<!-- Uncomment this to disable session persistence across Tomcat restarts -->
<!--
<Manager pathname="" />
-->
</Context>
其中ORCL是我ORACLE的名字(即数据库名),其他的像密码和用户名,就是你自己的,驱动名和url也更加自己的配置,我这里只是Oracle数据库的配置方法
接着找到项目路径下WEB-INF目录下web.xml配置文件,只要在里面修改为:
<resource-ref>
<description>ORACLE DataSource example</description>
<res-ref-name>jdbc/ORCL</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
就好了,其中ORCL数据库名,type配置固定写法
除此之外,我们还需做些额外工作:在项目文件的lib下加入Oracel的驱动包:ojdbc14.jar(驱动有多种、可能需要自己去试)
但是我这么做完、还是jsp出现报错javax.servlet cannot be resolved to a type,原因是servlet-api.jar为导入lib下。导入后就可运行。
在他人文章的基础上,补充的,劳烦大家批评改正。——分享知识,分享快乐
相关文章推荐
- 项目中用Tomcat自带连接池的配置数据库
- 项目中用Tomcat自带连接池的配置数据库
- tomcat oracle数据库连接池配置
- 在Tomcat 7配置Servlet 3.0项目的MySQL 5.5的DBCP连接池
- 配置Tomcat的连接池和数据源(以oracle数据库为例)
- 配置tomcat7自带jdbc连接池、简单好用!
- Tomcat 6.0 配置oracle数据库连接池
- 我用myeclipse导入了一个用eclipse开发的项目,项目上有个差报错,是里面几个页面报的假错,部署到tomcat后,tomcat配置里这个项目的running值是false,访问就报404错误,而且不编译class文件
- JSP项目配置TomCat连接池遇到的问题!!!(真绝)
- 项目部署文档--数据库导入,tomcat配置
- Tomcat 6.0 配置oracle数据库连接池
- Tomcat 下配置连接池(oracle数据库)
- Tomcat 6.0 配置oracle数据库连接池
- Tomcat 6.0 配置oracle数据库连接池
- 在tomcat中配置MySQL和oracle数据库连接池的异同
- Oracle数据库连接池问题在tomcat下的配置
- Tomcat 6.0 配置oracle数据库连接池
- java web项目配置tomcat连接池的那些搓事
- java web项目配置tomcat连接池的那些搓事
- Eclipse导入MyEclipse项目后的Tomcat配置