1. 在tomcat中配置JNDI全局数据源连接池。
配置方法一:使用tomcat默认的DBCP连接池(全局数据库)
第一步:将要连接的数据库驱动程序复制到tomcat安装目录下的lib文件夹
第二步:找到tomcat安装目录下context.xml文件,并在其中添加如下内容
<Resource name="oracle"author="Container" type="javax.sql.DataSource"
driverClassName="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@localhost:1521:orcl"
username="system"
password ="123456"
maxActive="10"maxIdle="8">
</Resource>
其中:name 表示JDNI对象的名称; type 表示资源类型; scope 表示作用域; factory 表示对象工厂; username 表示数据库账号; url 表示连接数据库的url; driverClassName 表示数据库驱动类; password 表示数据库账号的密码; maxActive :表示连接池最大连接数
第三步:直接在代码中使用
//通过jndi获取tomcat配置的数据源获取连接池中的连接对象
Context context = new InitialContext();
DataSource datasource = (DataSource)context.lookup("java:comp/env/oracle");
conn = datasource.getConnection();
通过这三步即可实现全局数据库的配置
如在Dbconnection.java代码中实现连接
import java.sql.Connection;
import java.sql.SQLException;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;
public class DBconnection {
//JNDI数据源
public static ConnectiongetConnection(){
Connection conn = null;
try{
//通过jndi获取tomcat配置的数据源获取连接池中的连接对象
Context context = newInitialContext();
DataSource datasource =(DataSource) context.lookup("java:comp/env/oracle");
conn =datasource.getConnection();
}catch(NamingException e){
e.printStackTrace();
}catch(SQLException e){
e.printStackTrace();
}
return conn;
}
}
2.在工程下配置局部
<Context>
<Resource name="oracle"author="Container" type="javax.sql.DataSource"
driverClassName="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@localhost:1521:orcl"
username="system"
password ="123456"
maxActive="10"maxIdle="8">
</Resource>
</Context>
第三步:直接在代码中使用
//通过jndi获取tomcat配置的数据源获取连接池中的连接对象
Context context = new InitialContext();
DataSource datasource = (DataSource)context.lookup("java:comp/env/oracle");
conn = datasource.getConnection();