`

J2EE 中的数据库连接类

阅读更多
1.DBConfig.properties
#属性文件,存放JDBC联接数据库的参数
#sql2005驱动
#DataBaseDriver = com.microsoft.sqlserver.jdbc.SQLServerDriver
#DataBaseURL = jdbc:sqlserver://localhost:1433;SelectMode=cursor;DatabaseName=drp
#DataBaseUser = sa
#DataBaseUserPassword = 

#mysql驱动
DataBaseDriver = com.mysql.jdbc.Driver
DataBaseURL = jdbc:mysql://localhost:3306/drp
DataBaseUser = root
DataBaseUserPassword = root


2.DBConnectionException.java

package com.mp.struts.util;

/**
 * 该异常类用来封装联接数据库时可能出现的异常
 * @author  穆 鹏
 *
 */
@SuppressWarnings("serial")
public class DBConnectionException extends Exception{
	public DBConnectionException(String message) {
		super(message);
	}
}

3.DBConnection.java
package com.mp.struts.util;
import java.io.InputStream;
import java.io.IOException;
import java.sql.*;
import java.util.Properties;

/**
 * 实用工具类,获得通过JDBC联接数据库的联接对象.
 * 联接数据库所需的参数放在资源属性文件DBConfig.properties中,
 * 该文件位于类路径的根目录下
 * @author 	穆	鹏
 *
 */
public class DBConnection {

	private static String CONFIG_FILENAME = "DBConfig.properties";
	private static String driverName = "";
	private static String url = "";
	private static String user = "";
	private static String password = "";


	/**
	 * 返回数据库联接
	 * 
	 * @return Connection
	 * @throws DBConnectionException 
	 * @throws SQLException 
	 * @throws SQLException
	 */
	public static Connection getConnection() throws DBConnectionException, SQLException {
		Properties prop = new Properties();

		// 读取配置文件信息
		InputStream in = DBConnection.class.getResourceAsStream("/"
				+ CONFIG_FILENAME);
		
		Connection conn = null;
		try {
			//装载属性文件
			prop.load(in);
			//从属性文件中读取JDBC联接数据库的参数
			driverName = prop.getProperty("DataBaseDriver");
			user = prop.getProperty("DataBaseUser");// 用户,口令
			password = prop.getProperty("DataBaseUserPassword");//口令
			url = prop.getProperty("DataBaseURL");// url
			// 装载驱动程序
			Class.forName(driverName);
			conn = DriverManager.getConnection(url, user, password);
		} catch (IOException e) {
			throw new DBConnectionException("装载数据库配置文件" + CONFIG_FILENAME
					+ "时错误!");
		} catch (ClassNotFoundException e) {
			throw new DBConnectionException("装载驱动程序" + driverName + "时错误!");
		}
		return conn;
	}
	
	/**
	 * 
	 * @param conn
	 * @throws SQLException
	 */
	public static void closeConn(Connection conn) throws SQLException {
		if(conn != null) {
			conn.close();
			conn = null;
		}
	}

	/**
	 * 
	 * @param stmt
	 * @throws SQLException
	 */
	public static void closeStmt(Statement stmt) throws SQLException {
		if(stmt != null) {
			stmt.close();
			stmt = null;
		}
	}
	
	/**
	 * 
	 * @param rs
	 * @throws SQLException
	 */
	public static void closeRs(ResultSet rs) throws SQLException {
		if(rs != null) {
			rs.close();
			rs = null;
		}
	}
	/**
	 * 测试主函数
	 * 如果未抛出异常则说明正确
	 * @param args
	 * @throws Exception
	 */
	public static void main(String[] args) throws Exception {
		
		Connection conn = DBConnection.getConnection();
		System.out.println("Connection -"+ conn.getCatalog() +" OK!");
		DBConnection.closeConn(conn);
		System.out.println("Connection is closed! now connection = " + conn.getCatalog());
	}
}
1
0
分享到:
评论

相关推荐

    j2ee数据库相关资料,jsp数据库连接,已经相关资源

    标签"j2ee数据库"表明这个资料包着重于J2EE环境下的数据库操作,这包括了数据库连接池的使用、实体管理、持久化操作等。学习这些内容将帮助开发者掌握在大型分布式系统中如何高效、安全地处理数据。 综上所述,这个...

    J2EE数据库连接池

    ### J2EE数据库连接池配置及应用 在Java企业级应用开发中,数据库连接管理是一项重要的任务。不当的连接管理可能会导致性能问题甚至系统崩溃。本文将详细介绍如何在J2EE环境中配置和使用数据库连接池。 #### 一、...

    j2ee编程连接数据库的几种方法

    在J2EE环境中,应用服务器通常会提供一个JNDI目录,用于管理数据库连接。开发者可以通过JNDI查找预配置的数据源(DataSource),从而获取数据库连接。这种方式简化了数据库连接的管理,减少了代码量,但需要应用...

    Flex用C#和J2EE连接数据库

    本篇将详细讲解如何使用Flex与C#和J2EE平台进行数据库连接。 一、Flex与C#连接数据库 1. **数据访问层(DAL)**:在C#环境中,通常使用ADO.NET作为数据访问层,它提供了对SQL Server、Oracle等数据库的直接访问。...

    J2EE 中连接Oracle的驱动

    同时,为了提升性能和安全性,推荐使用连接池管理数据库连接,如Apache DBCP、C3P0或HikariCP。 总结来说,`classes12.jar`和`ojdbc14.jar`是J2EE应用程序连接Oracle数据库的关键组件,它们为Java代码提供了与...

    J2EE连接SQL2000,MySql数据库驱动文件及方法Microsoft SQL Server JDBC Driver3.0

    在J2EE应用中,数据库连接通常通过Java Database Connectivity (JDBC) API实现。本文将详细介绍如何使用"Microsoft SQL Server JDBC Driver 3.0"和"MySQL连接数据库驱动文件"进行数据库连接,并提供相关的方法。 ...

    J2EE架构下数据库

    在处理数据库连接时,应当尽量避免在程序中频繁打开和关闭连接,可以通过连接池技术来复用数据库连接,提高效率。同时,在编写SQL语句时要确保逻辑的简洁性和效率,避免不必要的复杂查询。对于数据库的访问,代码...

    J2EE连接数据库的增删改查

    2. **建立数据库连接**:使用Java的`java.sql.DriverManager`类注册数据库驱动并建立连接。示例代码如下: ```java Class.forName("oracle.jdbc.driver.OracleDriver"); Connection conn = DriverManager.get...

    mysql-connector-java-commercial-5.1.40-bin.zip_40_J2EE数据库连接

    标题中的"mysql-connector-java-commercial-5.1.40-bin.zip_40_J2EE数据库连接"明确指出这是一个商业版本的MySQL JDBC驱动程序,版本号为5.1.40,主要用于J2EE(Java 2 Platform, Enterprise Edition)环境下的...

    雷达图/用C#连接数据库/用j2ee访问数据库/flex前台网站

    开发者可以使用C#编写SQL语句,建立数据库连接,执行查询,获取结果集,并将其转化为业务对象。在处理大量数据时,C#的性能和灵活性都表现出色。 J2EE(Java 2 Platform, Enterprise Edition)是Oracle公司提供的...

    j2ee hibernate数据库的增删改查

    在J2EE应用程序开发中,Hibernate是一个非常重要的ORM(对象关系映射)框架,它使得Java开发者能够方便地处理数据库操作,如增删改查(CRUD),而无需编写大量的SQL语句。本教程将详细介绍如何使用Hibernate实现...

    J2EE连接数据库jar包(sqlserver+oracle+mysql)

    - 使用连接池,如C3P0、HikariCP或Apache DBCP,可提高性能并有效管理数据库连接。 - 避免使用`Statement`,尽可能使用`PreparedStatement`以防止SQL注入,并提高性能。 - 定期升级JDBC驱动,以利用最新的性能...

    论文研究-J2EE架构下数据库访问的性能优化研究.pdf

    比如,尽量减少在Servlet的service()和init()方法中的数据库连接操作,可以考虑使用DataSource和Connection Pool来管理连接。使用JDBC时,正确使用Connection、PreparedStatement和ResultSet等对象,合理关闭这些...

    j2ee 数据库编程课件

    本章重点介绍了Java数据库连接(JDBC)技术,这是一种用于在Java应用程序中访问关系型数据库的标准API。 JDBC的核心功能包括: 1. 建立与数据库的连接:JDBC允许开发人员使用Java代码创建到各种数据库的连接。 2. ...

    J2EE.zip_J2EE数据库查询

    JDBC提供了一组接口和类,用于建立数据库连接、执行SQL语句以及处理结果集。 - **建立数据库连接**:通过`DriverManager.getConnection()`方法,传入数据库URL、用户名和密码来创建连接。 - **预编译SQL语句**:...

    J2EE软件开发必备的SQL数据库包

    JDBC提供了一组接口和类,使得Java程序能够执行SQL语句、处理结果集以及管理数据库连接。 在J2EE开发中,当我们要连接到SQL Server 2000时,我们需要一个驱动程序,这就是"SQLserver2000驱动jar包"。这个jar文件...

    数据库连接池-连接的关闭内幕

    在深入探讨数据库连接池中连接关闭的问题之前,我们首先需要了解数据库连接池的基本概念以及它在现代应用程序中的重要性。数据库连接池是一种管理多个数据库连接的方法,旨在提高应用程序性能并减少资源消耗。通过...

    简析J2EE应用程序中数据库类的设计模式

    【简析J2EE应用程序中数据库类的设计模式】 在J2EE应用程序的开发过程中,数据库类的设计至关重要,它直接影响到系统的可维护性、扩展性和性能。本文主要探讨在不使用EJB技术的情况下,如何设计数据库类,特别是...

    基于数据库连接池的D A O模式在J 2 E E应用系统中的实现

    ### 基于数据库连接池的DAO模式在J2EE应用系统中的实现 #### 概述 本文讨论了如何在J2EE应用系统中利用数据库连接池和DAO(Data Access Object)模式来提高系统的性能和稳定性。具体而言,文章重点介绍了在设计一...

Global site tag (gtag.js) - Google Analytics