问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

请问使用JDBC 和JNDI连接数据库哪个更有优势?

发布网友 发布时间:2022-04-07 18:50

我来回答

3个回答

懂视网 时间:2022-04-07 23:11

JNDI介绍 什么是JNDI? JNDI(Java Naming and Directory Interface,Java命名和目录接口) 是一组在Java应用中访问命名和目录服务的API 通过名称将资源与服务进行关联   什么是连接池技术?   连接池 连接池是在内存中预设好一定数量的连接对象,以备用户在进行数据库操作时直接使用 性能 数据库连接的建立、断开均由管理池统一管理 连接池技术与传统数据库连接的比较 数据库操作性能得到提升 通过连接池管理数据库的连接与释放、提高了系统资源的使用效率   为什么使用连接池? Ø传统数据库连接方式的不足 Ø每一次请求时均需要与数据库进行连接,资源占用较多 Ø当并发访问数量较大时,网站速度收到极大影响 Ø在访问结束后必须要关闭连接释放资源 Ø系统的安全性和稳定性相对较差   企业级开发需要稳健和高效的数据访问层 完成对数据库的CRUD操作 能够处理数据库发生的各种错误 可以灵活的修改配置 提供方便使用的工具 高性能   访问数据源 技术分享 第一步:Tomcat的conf/context.xml中的配置  加入数据库驱动文件 把数据库驱动的.jar文件,加入到Tomcat的commonlib中 应用程序的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数据库

标签:

热心网友 时间:2022-04-07 20:19

jdbc就是直接连接数据库,而jndi一般是在服务器上配置了数据库连接池后采用的一种方便用户查找的方法。如果自己学习就用jdbc,但是如果做项目的话一定记得配置数据库连接池并使用jndi,这样快一些,也更专业一些。

热心网友 时间:2022-04-07 21:37

jdbc链接数据库比较快,但在程序中使用的话就比较烦琐,每次连接都要有一定的编码,和数据库的连接需要手动关闭.
jndi一般和ejb来实现数据持久化,由容器来管理数据库的连接(连接池),这样做更规范,便于管理.但是连接执行的效率不怎么高.
就看你用的场合,要高效还是规范!!
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
手机导航地图语音怎么下载 如何分别真金和仿金首饰 怎样区分真金和仿金首饰呢 小学生新年晚会主持人的串词!!(不要太多)急 大大后天就需要了!!!_百度... 周年晚会策划公司 奥格瑞玛传送门大厅在哪 奥格瑞玛传送门大厅怎么走 锻炼颈椎的几个动作 水多久能结冰 冰能在多长时间内形成 请问水低于0度会结冰吗? 如何防止脱发严重 我想把多个视频片段合成一个视频用什么软件呢?提供下 小米WIFI放大器对wifi网速是否有影响 我蹭的路由器信号很弱,网速很慢。用小米wifi放大器可以增强信号,但是... 使用WiFi信号放大器,信号满格,但是网速很慢? 古龙哪一部小说说了阿飞是沈浪之子? 小米放大器多人连网速变得很慢。一个人就很好。怎么回事??? 华硕X55V笔记本电脑蓝牙怎么打开,有没有蓝牙? 小米wifi放大器pro用了100M网络变成10兆 类似万道剑尊的热血文,不要种马,男主开篇最好不是废材,可以转变,反正像剑无双那样的书 一座塔让男主重生,女主叫九曦圣女的小说 华硕x550v怎么开蓝牙 有一本修真小说,主角名字忘了,开始被追杀到其他*,里面有一个配角剑修叫无双,求小说名字 小说重生之我为神兽的作者是 求一部网络小说名 怎么挣钱快啊 剑阁剑无双是什么小说的主角 华硕x503m有蓝牙吗? 为什么要用jquery k224J250 TQ.PP是什么电子器件? jQuery库主要用在什么方面? 怎么样才能让水精灵快速长大 如何能让海洋宝宝快速长大 怎么让水宝宝长得更大 怎么才能让海洋宝宝长得很大 泡大珠怎样快速变大 怎样养水精灵才长得大? 怎么才能让海绵宝宝一天之内快速的长得特大 谁有老电影,奇门遁甲国语百度云 求袁家班奇门遁甲系列电影最后一部 阴阳奇兵国语,是阴阳奇兵!! 能下载或在线看都可以! 2021年五部圈钱烂片:《你的婚礼》排在第二,第一狂揽巨额,哪部呢? 甄子丹的所有电影电视有哪些 全都要··希望高手写下来 Oracle采用连接池的方式在tomcat的server.xml文件中配置的代码 稍微有点不明白 解释一下 谢谢 别克英朗20款怎么才能开机就自动放音乐 21款英朗怎么设置上车自动播放音乐 刚买的别克英朗2021款有自带音乐吗?怎么播放 21款英朗怎么播放视频 别克新英朗怎么播放音乐 2021款别克英朗1.5l自动精英版,导航要开音乐才会播呢 2011款别克英朗怎么播放音乐? 别克新英朗usb插上后按哪个键播放