当前位置:Gxlcms > 数据库问题 > JNDI连接池连接Oracle数据库

JNDI连接池连接Oracle数据库

时间:2021-07-01 10:21:17 帮助过:3人阅读

JNDI介绍 什么是JNDI? JNDI(Java Naming and Directory Interface,Java命名和目录接口) 是一组在Java应用中访问命名和目录服务的API 通过名称将资源与服务进行关联   什么是连接池技术?   连接池 连接池是在内存中预设好一定数量的连接对象,以备用户在进行数据库操作时直接使用 性能 数据库连接的建立、断开均由管理池统一管理 连接池技术与传统数据库连接的比较 数据库操作性能得到提升 通过连接池管理数据库的连接与释放、提高了系统资源的使用效率   为什么使用连接池? Ø传统数据库连接方式的不足 Ø每一次请求时均需要与数据库进行连接,资源占用较多 Ø当并发访问数量较大时,网站速度收到极大影响 Ø在访问结束后必须要关闭连接释放资源 Ø系统的安全性和稳定性相对较差   企业级开发需要稳健和高效的数据访问层 完成对数据库的CRUD操作 能够处理数据库发生的各种错误 可以灵活的修改配置 提供方便使用的工具 高性能   访问数据源 技术分享 第一步:Tomcat的conf/context.xml中的配置  加入数据库驱动文件 把数据库驱动的.jar文件,加入到Tomcat的common\lib中 应用程序的web.xml文件的配置 在web.xml中配置<resource-ref>
<?xml version=‘1.0‘ encoding=‘utf-8‘?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->
<!-- The contents of this file will be loaded for each web application -->
<Context>

    <!-- Default set of monitored resources -->
    <WatchedResource>WEB-INF/web.xml</WatchedResource>
    
    <!-- Uncomment this to disable session persistence across Tomcat restarts -->
    <!--
    <Manager pathname="" />
    -->

    <!-- Uncomment this to enable Comet connection tacking (provides events
         on session expiration as well as webapp lifecycle) -->
    <!--
    <Valve className="org.apache.catalina.valves.CometConnectionManagerValve" />
    -->

--红色字体是需要根据数据库名配置
<Resource name="jdbc/liuyan" auth="Container"
type="javax.sql.DataSource" maxActive="100"
maxIdle="30" maxWait="10000" username="epet" password="123456"
driverClassName="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@localhost:1521:orcl"
/>
</Context>

 

import java.sql.Connection;
import java.sql.SQLException;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;

/** 
 * 文件名:JNDI.java
 * 描    述:这是一个数据库连接类
 * 作    者:WLX
 * 所属项目:MyNews
 * JDK版本:JDK1.7 
 * 创建时间:2015年5月23日 下午2:54:24
 *
*/
public class JNDI {

    public Connection getconn() {
        
        Connection conn = null;
        try {
            
            Context ctx;
            ctx = new InitialContext();
            //java:comp/env/为前缀
            DataSource source = (DataSource)ctx.lookup("java:comp/env/jdbc/liuyan");
        
            Connection connection = source.getConnection();
            if(connection != null){
                conn = connection;
            }
            
        } catch (NamingException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return conn;
    }

}

 

   

JNDI连接池连接Oracle数据库

标签:

人气教程排行