JNDI设置数据源

在tomcat下配置:

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


属性    描述
name    指定Resource的JNDI名字
auth    指定管理Resource的Manager,它有两个可选值:Container、Application
type    指定Resource所属的Java类名
maxActive	指定数据库连接池中处于活动状态的最大连接数目,0表示不受限制
maxIdle		指定数据库连接池中处于空闲状态的最大连接数目,0表示不受限制
maxWait		指定连接池中连接处于空闲状态的最长时间,超过会抛出异常,-1表示无限
username	指定连接数据库的用户名
password	指定连接数据库的口令
driverClassName 指定连接数据库的JDBC驱动程序
url             指定连接数据库的URL


web.xml中配置:

<resource-ref>
	<description>mysqlSource</description>
	<res-ref-name>jdbc/test</res-ref-name>
	<res-type>javax.sql.DataSource</res-type>
<span style="white-space:pre">	</span><res-auth>Container</res-auth>
</resource-ref>


jsp测试连接

<%@ page language="java" contentType="text/html; charset=gb2312" %>  
<%@ page import="javax.naming.*" %>  
<%@ page import="javax.sql.*"%>  
<%@ page import="java.sql.*" %>  

<!--JSP测试JNDI TOMCAT数据源是否配置成功-->

<%  
	DataSource ds = null;  
	try{  
	    Context initCtx = new InitialContext();  
	    ds = (DataSource)initCtx.lookup("java:comp/env/jdbc/test");  
	    if(ds!=null){  
	        out.println("DataSource is OK!");  
	        Connection cn=ds.getConnection();  
	        if(cn!=null){  
	            out.println("连接成功");
	            String sql="select id,loginName,password from user";
				try {
					PreparedStatement pstmt=cn.prepareStatement(sql);
					ResultSet rs=pstmt.executeQuery();
					if(rs.next()){
						 out.println(rs.getString(1));
						 out.println(rs.getString(2));
						 out.println(rs.getString(3));
					}
				} catch (SQLException e) {
					e.printStackTrace();
				}    
	        }else {  
	            out.println("连接失败");  
	        }
	       
	    }else{  
	        out.println("获取数据源失败");  
	    }  
	}catch(Exception ne){   
	    ne.printStackTrace();  
	    out.println(ne.getMessage());  
	}  
%>  




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值