使用JNDI连接Mysql数据库步骤

1.创建数据库

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

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

         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. 配置的内容:
    	
    		news DataSource
    		jdbc/Message
    		javax.sql.DataSource
    		Container
    	

     

  3. description:对所引用资源的说明
  4. res-ref-name:指定所引用资源的JNDI名字,与 元素中的name属性对应
  5. res-type:指定所引用资源的的类名字,与 元素中的type属性对应
  6. res-auth:指定管理所引用资源的Manager,与 元素中的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/")+数据源名称则会报错

 

 

 

 

 

你可能感兴趣的:(:使用JNDI连接数据库,使用JNDI连接数据库)