JNDI配置数据库连接

首先新建一个Web Project 名字随便起 

首先把数据库的驱动jar包 例如 Oracle 的jar包 Ojdbc14.jar 

放在Tomcat的lib目录下,紧接着展开项目在WebRoot目录

下的META-INF里新建一个context.xml文件内容如下:

以Oracle 10g为例:

<?xml version="1.0" encoding="UTF-8"?>
    <Context reloadable="true" crossContext="true">
    <WatchedResource>WEB-INF/web.xml</WatchedResource>
<Resource
        name="jdbc/oracle"             ---名字随便起
        auth="Container"
        type="javax.sql.DataSource"
        driverClassName="oracle.jdbc.OracleDriver"
        url="jdbc:oracle:thin:@localhost:1521:orcl"
        username="lbz"
        password="lbz"
        maxActive="200"
        maxIdle="100"
        maxWait="-1"/>
</Context>

新建一个包com.lbz.conn

在该目录下新建一个类JNDIDataSource.java 内容如下:

public class JNDIDataSource
 {
        public static Connection getConnection()
        {
                Connection conn = null;
                Context context = null;
                
                try
                 {
                        context = new InitialContext();
                        DataSource ds = (DataSource) context.lookup("java:comp/env/jdbc/oracle");
                                                //java:comp/env/是固定的格式后面的
                                                jdbc/oracle是对应 context.xml 里的 
                                                name选项的值
                        conn = ds.getConnection();
                } 
                catch (NamingException e) 
                {
                        e.printStackTrace();
                        if(context != null)
                        {
                                try {
                                        context.close();
                                } catch (NamingException e1) {
                                        e1.printStackTrace();
                                }
                        }
                }catch (SQLException e){ 
                        e.printStackTrace(); 
                }
                return conn;
        }
}

JNDI数据源已经配置完成了,

其他Dao包里的方法就可以通过

JNDIDataSource.getConnection();

来获得一个数据库连接了

了解更多请移步路人甲技术交流http://www.walkerjava.com期待您的加入