使用JNDI连接Mysql数据库步骤

1.创建数据库

2.配置Tomcat中 文件夹为conf中的context.xml   

          1.配置context.xml的内容为:

<Resource name="jdbc/Message" auth="Cantainer" type="javax.sql.DataSource"  maxActive="30" maxIdle="20" maxWait="10000" username="root" password="root"
driverClassName="com.mysql.jdbc.Driver" 
url="jdbc:mysql://127.0.01:3306/massage? useUnicode=true&amp;characterEncoding=utf-8"/>

         2.name:指定的Resource 的JNDI名字

        3.auth:  指定管理Resource的Manager,他有两个可选值:Container和Application。Container表示由容器创建    Resource,Appliction表示由Web应用创建和管理Resource

         4.type: 指定Resource所属的java类型

        5.maxActive:指定数据连接池中处于活动状态的数据连接的最大数目

        6.maxIdle:指定数据库连接池中处于空闲状态的数据库连接的最大数目,取值为0,表示不受限制

        7.waxWait:指定数据库连接池中数据连接处于空闲状态的最长时间(以毫秒为单位),超出这一时间将会抛异常

        8.username:指定连接数据库的用户名

        9.password:指定数据库连接的密码

       10.driverClassName:指定连接数据库的JDBC驱动名程序

       11.URL:指定连接数据库的URL

     3导入jar包到Tomcat中lib文件夹下

  1.         jar名称为:mysql-connector-java-5.1.0-bin.jar

   4.配置web.xml文件

  1. web.xml文件的位置在(MyEclipse)webapps/WebProject/WEB-INF/web.xml
  2. 配置的内容:
    	<resource-ref>
    		<description>news DataSource</description>
    		<res-ref-name>jdbc/Message</res-ref-name>
    		<res-type>javax.sql.DataSource</res-type>
    		<res-auth>Container</res-auth>
    	</resource-ref>

     

  3. description:对所引用资源的说明
  4. res-ref-name:指定所引用资源的JNDI名字,与<Resource> 元素中的name属性对应
  5. res-type:指定所引用资源的的类名字,与<Resource> 元素中的type属性对应
  6. res-auth:指定管理所引用资源的Manager,与<Resource> 元素中的auth属性对应

4.编写代码,使用lookup()方法获得数据源对象

  1. public class ServerUtil {
    	//得到连接的方法
        public static Connection getConnection(){
        	Connection conn=null;
        	
        	try {
        		//初始化上下文参数
    			Context tx=new InitialContext();
    			//获取与逻辑名相关联的数据对象
    			DataSource ds=(DataSource) tx.lookup("java:comp/env/jdbc/Message");
    			conn=ds.getConnection();//得到连接
    			
    		} catch (NamingException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		} catch (SQLException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
        	return conn;
        }
    }

     

  2. 使用lookup方法查找数据源时,没有使用前缀("java:comp/env/")+数据源名称则会报错

 

 

 

 

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值