Tomcat配置JNDI数据源

Tomcat配置JNDI数据源两种方式:

(一)局部数据源

步骤:

一、拷贝数据库驱动到 Tomcat安装目录的lib下。

二、配置context.xml文件(两种方法)

方法一:使用Tomcat的context.xml文件

<Context>

	<Resource
    name="jdbc/mysqlds"
    auth="Container"
    type="javax.sql.DataSource"
    maxActive="100"
    maxIdle="30"
    maxWait="10000"
    driverClassName="com.mysql.jdbc.Driver"
    url="jdbc:mysql://localhost:3306/147slBlog"
    username="root"
    password="1234"/>
	
</Context>

方法二:在应用中(WebRoot目录的META-INF目录下)新建context.xml文件进行配置(代码同上)


三、在应用中配置web.xml(不是必须的)

<resource-ref>
	<description>DataSource</description>
	<res-ref-name>jdbc/mysqlds</res-ref-name>
	<res-type>javax.sql.DataSource</res-type>
	<res-auth>Container</res-auth>
</resource-ref>

四、使用数据源连接数据库

public Connection getConnection() throws NamingException{
		Connection conn = null;
		String jndi = "jdbc/mysqlds";
		Context initContext = new InitialContext();
		Context envContext = (Context)initContext.lookup("java:/comp/env");
		DataSource ds = (DataSource)envContext.lookup(jndi);
		if(ds != null){
			try{
				conn = ds.getConnection();
			}catch(SQLException e){
				
			}
		}
		return conn;
	}

(二)全局数据源配置

步骤:

一、在Tomcat服务器lib目录下加入数据库连接驱动包。

二、在Tomcat服务器 \conf\server.xml中编辑,添加全局JNDI数据源配置。在GlobalNamingResources标签中添加代码。

<Resource
    name="jdbc/mysqlds"
    auth="Container"
    type="javax.sql.DataSource"
    maxActive="100"
    maxIdle="30"
    maxWait="10000"
    driverClassName="com.mysql.jdbc.Driver"
    url="jdbc:mysql://localhost:3306/147slBlog"
    username="root"
    password="1234"/>

三、配置context.xml文件(两种方法)

方法一:在Tomcat服务器的context.xml文件中编辑

<ResourceLink
	global="jdbc/mysqlds" //全局JNDI
	name="jdbc/mysql" //应用中使用JNDI
	type="javax.sql.DataSource" />

方法二:在应用的WebRoot\META-INF\下新建context.xml(代码同上)


四、在代码中使用JNDI(Web.xml中无需配置)


补充说明:

name:通过此名称查找DataSource。此名称可任意更换,为了不与其他名称混淆,使用了jdbc/mysqlds(配置关于mysql命名服务)

auth:容器授权管理。用户名和密码是否可在容器上生效。

type:此名称的类型。javax.sql.DataSource

maxActive:数据库在服务器上能打开的最大连接数。

maxIdle:数据库在服务器上维持的最小连接数。

maxWait:最大等待时间,10000毫秒。

username:数据库连接的用户名。

password:数据库连接的密码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值