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

MyBatis 怎样使用JNDI连接数据库

发布网友 发布时间:2022-04-29 19:48

我来回答

3个回答

懂视网 时间:2022-04-30 00:09

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-29 21:17

JNDI是J2EE中一个很重要的标准,通常我们是在J2EE编程中用到,Tomcat中提供了在JSP和Servelt中直接使用JNDI的方法,主要是通过dbcp连接池
重点讲使用:
1.配置context.xml
注意地址是:tomcat安装目录下的conf,该目录下应该有了context.xml文件。貌似以前的版本是在项目目录中的META-INF目录下配置,我刚开始时参考是也是老版本的操作方法,谁知道试了一晚都不行。。。如果不是那里配置的话会可能出现这样的错误提示:javax.naming.NameNotFoundException: Name jdbc is not bound in this Context?
现在开始配置:
<Context path="/Manager" reloadable="true">
<Resource
name="hello"
type="javax.sql.DataSource"
driverClassName="com.mysql.jdbc.Driver"
username="root"
password="123456"
maxIdle="4"
maxActive="4"

热心网友 时间:2022-04-29 22:35

步骤如下:1,找到jboss-5.1.0.GA\docs\examples\jca\ 下的*-ds.xml2,本例使用oracle11g,故而修改文件oracle-ds.xml jdbc/oracle jdbc:oracle:thin:@//localhost:1521/myOracle oracle.jdbc.OracleDriver userName password oracle11g 3,复制到 server\default 下如果使用不同配置目录,则在不同的server\xXXXX下。4,修改MyBatis的配置文件,添加如下内容:5,复制oracle的驱动到server\deploy\lib下启动JBoss.注意,所有的session务必关闭。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
苹果电脑电池充不进电苹果电脑充不进去电是怎么回事 苹果电脑不充电没反应苹果电脑充电指示灯不亮充不了电怎么办 狗狗更加忠诚护家、善解人意,养一只宠物陪伴自己,泰迪能长多大... 描写泰迪狗的外形和特点的句子 国外留学有用吗 花钱出国留学有用吗 !这叫什么号 百万医疗赔付后是否可以续保 前一年理赔过医疗险还能续保吗? 医疗住院险理赔后还能购买吗? 共享汽车怎么使用 手机怎么用信用卡转账 共享小汽车怎样使用? 信用卡在手机上怎么转账? 信用卡手机银行能转账到自己其他卡吗? 怎么在中国银行手机银行使用信用卡转账 奇异果自动续费怎么关 奇异果包年会员可以中途撤销? 凯莉克莱克森有什么好歌? 要帮我哦! 谈情说案配角演员表 谁给介绍一下Kelly Clarkson kelly clarkson是哪个国家的? 伤感的音乐~~语言不限`· 有什么好听的新英文歌 kelly结婚时的歌是什么 麻烦把这段贺词翻译成英文。(圣诞贺词) 帮我了解艾微儿 询问电影&lt;芝加哥&gt;中的一段台词 我要知道艾薇儿的资料越全面越好 印刷中什么是网线数 确定加网线数时考虑哪些因素? 为什么一般印刷品的加网线数为 175线/in ? 在线等回答谢谢~ 印刷加网线数和印刷文件分辨率的关系,弄得清楚原理的大神来解释一下_百... 分析丝网目数与加网线数的关系 丝网印刷过渡色用多少目的丝网,加多少网线才能达到最佳效果 丝网对应的目数=加网线数*4倍 对吗 怎样在一张CTP版上实现两种或多种不同的加网线数 在印刷中,一般图片出菲林时最为适宜的加网线数为 我想问下关于在处理图片时加网线的问题? 在印前中,已知输出分辨率和加网线数,如何求灰度级数 柔性版印刷时,若图像加网线数为100lpi,要求5%网点能印出,求网纹辊的加网线数 印刷网线怎么设定 印刷线性是个什么概念 做风衣用多少规格的线 印刷四色彩印PS版各种网线搭配是什么颜色? 天天赞美主 春秋冬夏日日新 是什么歌 天天赞美主原唱 搜索赞美诗选545首怎么找到 你们能给我吗? 赞美诗歌 建造主殿