使用JNDI配置数据源

项目中用JNDI方式配置了数据源。以前没怎么注意。今天自己看了下,挺简单的,使用servlet做了个小测试。

环境:tomcat7.0   jre6  mysql


1.mysql驱动程序添加到web项目的lib文件下。


2.META-INF下创建一个context.xml(也可以不写在这,在tomcat的server.xml下也可以,这里只放在自己项目下只供自己项目使用。)

<?xml version="1.0" encoding="UTF-8"?>
<Context>
	<Resource name="jdbc/test" 
	          auth="Container"
		      type="javax.sql.DataSource"
		      username="root"
		      password="root"
		      driverClassName="com.mysql.jdbc.Driver" 
		      url="jdbc:mysql://localhost/test"
		      maxActive="100"
		      maxIdle="30"
		      maxWait="5000"/>
</Context>

3.项目的web.xml中加入如下:

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

4.就以上两步。下面配置好servlet。可以在servlet类中测试获取Connection对象。

关键代码:

			Context initCtx = new InitialContext();
			Object obj = initCtx.lookup("java:comp/env/jdbc/test");
			// java:comp/env 是环境命名上下文
			// 例如:dataSource = (DataSource)
			// //ctx.lookup("java:comp/env/jdbc/DBPool");
			// 它会从相应配置文件中加载名为"jdbc/DBPool"的对象
			DataSource ds = (DataSource) obj; // 取得DataSource的引用,并保存在ds中
			return ds.getConnection();
			// 每次访问数据库都调用类自身的getConnection()方法,从DataSource的数据库连接池中取出//一个空闲状态的连接

通过测试。查询数据库表总的几条数据。没有问题。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值