tomcat配置oracel数据库全局jndi数据源

以Oracle数据库Scott用户下的emp表举例

步骤:

1、将Oracle数据库的数据库驱动包放到tomcat的lib目录下

 

 

 

2、将数据源配置tomcat的servel.xml和context.xml

server.xml的GlobalNamingResources节点下增加如下配置

 

 

 

<Resource driverClassName="oracle.jdbc.driver.OracleDriver"
              factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
              name="jdbc/oracle"
              password="tiger"
              scope="Shareable"
              type="javax.sql.DataSource"
              url="jdbc:oracle:thin:@127.0.0.1:1521:orcl"
              username="scott"/>

context.xml的context节点下添加对全局数据源的引用

 

 

 

    <ResourceLink global="jdbc/oracle" name="jdbc/oracle" type="javax.sql.DataSource"/>

3、采用servlet测试

复制代码
try {
            Context ctx = new InitialContext();

            // 此处要添加的是查找数据源的名字  但是要加前缀java:comp/env
            DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/oracle");
            // 通过数据源获得数据源中的连接
            Connection conn = ds.getConnection();
            String sql = "select * from emp";
            PreparedStatement pstmt = conn.prepareStatement(sql);
            ResultSet rs = pstmt.executeQuery();
            while(rs.next()){
                System.out.println(rs.getString(1));
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
复制代码

参考帖子:

在Tomcat配置JNDI数据源的三种方式

使用 IntelliJ IDEA 新建一个 Servlet 项目

上最全最详细JNDI数据源配置说明

posted @   AlphaJunS  阅读(1114)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示