一.web容器的配置
二.Web.Xml配置
<resource-ref>
<description>Admin connect to DB</description>
<res-ref-name>jdbc/honghu_admin</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
resource-ref是可以多个的。
三.SqlBean类
package ucshop.common;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;
public class SqlBean {
private static DataSource dataSource;
static {
init();
}
/*
* 私有构造函数,不能显式new实例,确保只有一个实例
*/
private SqlBean() { }
private static void init() {
try {
Context initContext = new InitialContext();
dataSource = (DataSource)initContext.lookup("java:comp/env/jdbc/ucshop");
}catch(NamingException nameEx) {
System.out.println("lookup失败");
nameEx.printStackTrace();
}
}
/**
* 打开数据库连接
* @return 数据库连接,失败则为null
*/
public synchronized static Connection getConnection(){
try {
return (dataSource != null)? dataSource.getConnection():null;
} catch (SQLException sqlEx) {
System.out.println("连接失败");
sqlEx.printStackTrace();
}
return null;
}
/**
* 关闭数据库连接
* @param conn
* @param statement
*/
public static void closeConnection(Connection conn, Statement statement, ResultSet resultSet) {
try{
if (resultSet != null){
resultSet.close();
resultSet = null;
}
if (statement != null){
statement.close();
statement = null;
}
if(conn != null){
conn.close();
conn = null;
}
}catch(SQLException sqlEx) {
System.out.println("关闭数据库连接出错");
sqlEx.printStackTrace();
}finally {
try{
if (resultSet != null){
resultSet.close();
resultSet = null;
}
if (statement != null){
statement.close();
statement = null;
}
if(conn != null){
conn.close();
conn = null;
}
}catch(SQLException sqlEx) {
System.out.println("关闭数据库连接还是出错");
sqlEx.printStackTrace();
}
}
}
}
转自:http://icansoft.blog.51cto.com/268543/113379
分享到:
相关推荐
本篇文章将详细介绍如何使用JNDI配置数据源进行数据库连接。 1. **JNDI概述** JNDI提供了一种统一的接口来访问命名和目录服务,比如DNS、LDAP等。在Java Web环境中,它常用来查找和绑定应用程序所需的资源,如数据...
JNDI配置数据源是将数据库连接池集成到Tomcat中的重要步骤,这样可以提高应用的性能和可维护性。下面我们将详细介绍如何在Tomcat中通过JNDI配置数据源。 首先,我们需要了解数据源是什么。数据源是一个对象,它管理...
Tomcat6+Spring+JNDI配置数据源说明 本文档主要介绍了Tomcat6+Spring+JNDI配置数据源的详细步骤和原理。数据源是一个池子,里面有若干个数据连接对象,当需要时就从里面拿一个使用,使用完毕就放回去,如果超过最大...
通过JNDI配置数据源,使得数据库连接可以在多个应用之间共享,简化了应用的配置,同时提高了系统的可扩展性和可维护性。在实际开发中,还可以使用更高级的连接池实现,如C3P0、Apache DBCP2或HikariCP,它们提供了更...
然而,有时我们可能希望在非Web环境下或不使用JNDI的情况下配置数据源,这时我们需要在Spring的配置文件中等价地实现JNDI的数据源配置。以下是如何在Spring中进行这种转换的详细步骤和知识点: 1. **理解JNDI配置**...
在这个场景中,“intellij idea使用tomcat开发时自动部署jndi数据源”是一个重要的知识点,它涉及到如何在IDE中配置和管理数据库连接,以便于在应用运行时动态地查找和使用数据源。 JNDI(Java Naming and ...
在Spring框架与Tomcat服务器的集成中,配置JNDI数据源是将数据库连接管理交给服务器来处理,提高应用的可移植性和资源利用率。下面将详细解释配置JNDI数据源的相关知识点。 一、JNDI数据源的概念 JNDI数据源是一种...
WebLogic 下配置 JNDI 数据源 WebLogic 是一款功能强大的 Java 应用服务器,提供了强大的集成和管理功能,而 JNDI(Java Naming and Directory Interface)是 Java 中的一种命名和目录接口,用于在 Java 应用程序中...
Spring框架作为一个强大的IoC(Inversion of Control)和AOP(Aspect Oriented Programming)容器,提供了多种配置数据源的方式,其中包括通过JNDI(Java Naming and Directory Interface)来查找和配置数据源。JNDI...
在本文档中,我们将详细探讨如何在Tomcat环境下使用SpringMVC与JNDI配置数据源。 #### 二、Tomcat配置JNDI的三种方式 ##### 1. 单个应用独享数据源 在Tomcat的`server.xml`中为特定的应用程序配置专用的数据源,...
Tomcat 配置 JNDI 数据源 Tomcat 是一个流行的 Java Web 服务器,JNDI(Java Naming and Directory Interface)是 Java 中的一种命名和目录接口规范。Tomcat 中的 JNDI 数据源是指将数据库连接信息注册到 JNDI ...
JNDI学习总结,JNDI配置数据源,资料详细,适合初学者
下面我们将逐一介绍如何使用JNDI配置Oracle、MySQL、SQL Server、DB2、Informix、Sybase以及PostgreSQL等几种常见数据库的数据源。 ##### 3.1 Oracle ```java Class.forName("oracle.jdbc.driver.OracleDriver")....
在Tomcat配置JNDI数据源的三种方式
"JNDI 数据源配置(tomcat)" JNDI(Java Naming and Directory Interface)是一种Java API,用于访问命名和目录服务。JNDI 数据源配置是 Java Web 应用程序中常用的数据库连接方式。Tomcat 是一个流行的 Java Web ...
自定义jndi数据源factory类,用于解密jndi中的加密数据,解密方式为DES,具体可根据实际需求修改。
本文将详细介绍如何在Spring中配置两种不同的方式来获取WebLogic JNDI数据源。 #### 一、本地WebLogic Server获取 这种方式适用于当Spring应用与WebLogic服务器在同一台物理机器上运行时的情况。在这种模式下,...
以下是对JNDI数据源配置的详细步骤和相关知识点的解析: 1. **理解JNDI** JNDI是一个Java API,它提供了一组接口和类,使得Java应用程序能够查找和访问分布式环境中的资源,如目录服务、邮件服务器、数据源等。在...
Tomcat配置JNDI数据源的N种方法
TOMCAT8 JNDI对用户名和密码加密