`
kevin_wanwei
  • 浏览: 117621 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

非常好获得数据库连接工具类

阅读更多

这是一个写的非常好的获得数据库连接工具类,里面提供常用数据库驱动名称和URL。

配置数据库连接参数工具类:

package com.bpcrm.kevin.util.DB_utill.simple_connection;
/**
 * 常用数据库连接配置信息
 * @author kevin.wangwei
 * Email:wanwei.234@163.com
 * 2009-12-26
 */
public final class DBPropertyUtil {
	/**
	 * 各种常用数据库驱动名称
	 *============mysql Driver====================
	 *com.mysql.jdbc.Driver
	 *
	 *============oracle Driver===================
	 *oracle.jdbc.driver.OracleDriver
	 *
	 *============pointbase Driver================
	 *com.pointbase.jdbc.jdbcUniversalDriver
	 *
	 *============SQL Server Driver===============
	 *com.microsoft.jdbc.sqlserver.SQLServerDriver
	 *
	 *============DB2 Driver======================
	 *com.ibm.db2.jdbc.app.DB2Driver
	 *
	 */
	public static final String strDB_Driver="com.mysql.jdbc.Driver";
	/**
	 *数据库连接url格式为:"jdbc:子协议:子协议名称//主机名:端口号/数据库名?属性名=属性值&属性名=属性值"
	 *dbUser和dbPassword也可以通过:属性名=属性值方式传入。
	 *设置数据库的编码格式:useUnicode=true&characterEncoding=GBK
	 *============mysql url=================================================
	 *jdbc:mysql://<machine_name><:port>/dbname
	 *端口号:默认 3306
	 *============oracle url================================================
	 *jdbc:oracle:thin:@<machine_name><:port>:dbname
	 *端口号:默认是 1521
	 *============pointbase url=============================================
	 *jdbc:pointbase:server://<machine_name><:port>/dbname
	 *端口号:默认是 9092
	 *============SQL Server url============================================
	 *jdbc:microsoft:sqlserver://<machine_name><:port>;DatabaseName=<dbname>
	 *端口号:默认是 1433
	 *============DB2 url===================================================
	 *jdbc:db2://<machine_name><:port>/dbname
	 *端口号:默认是 5000
	 */
	public static  final String DBUrl="jdbc:mysql://127.0.0.1:3306/ajax";
	/**访问数据库用户*/
	public static final String DBUser="root";
	/**访问数据库密码*/
	public static final String DBPassword="123";
}

 

 



 获得连接工具类:

package com.bpcrm.kevin.util.DB_utill.simple_connection;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
/**
 * 简单数据库连接工具类
 * 单例模式
 * @author kevin.wangwei
 * Email:wanwei.234@163.com
 * 2009-12-26
 */
public final class JdbcInstanceUtil {
	/**定义一个私有的构造函数,禁止创建该对象实例*/
	private  JdbcInstanceUtil(){};
	/**当前对象引用*/
	private static JdbcInstanceUtil instance=null;
	
	static {
		//注册驱动
			try {
				Class.forName(DBPropertyUtil.strDB_Driver);
			} catch (ClassNotFoundException e) {
				e.printStackTrace();
			}
	}
	/**
	 * 或得该工具类对象
	 * @return JdbcInstanceUtil对象
	 */
	public static JdbcInstanceUtil getInstance(){
		if(instance==null){
			synchronized(JdbcInstanceUtil.class){
			if(instance==null){//如果没有这个判断,当两个线程同时访问这个方法会出现创建两个对象
			instance=new JdbcInstanceUtil();
		    }
		}
	}
		return instance;
	}
	/**
	 * 获得数据库连接对象
	 * @return 数据库连接对象
	 * @throws SQLException
	 */
	public Connection getConnection() throws SQLException{
		return DriverManager.getConnection(DBPropertyUtil.DBUrl,DBPropertyUtil.DBUser,DBPropertyUtil.DBPassword);
	}
	/**
	 * 释放资源 
	 * 保证程序在出现任何异常都要关闭连接对象
	 * @param rs 结果集
	 * @param st statement
	 * @param conn 连接
	 */
	public void free(ResultSet rs,Statement st,Connection conn){
			if(rs!=null){
				try {
					rs.close();
				} catch (SQLException e) {
					e.printStackTrace();
				}finally{
					if(st!=null){
						try {
							st.close();
						} catch (SQLException e) {
							e.printStackTrace();
						}finally{
							if(conn!=null){
								try {
									conn.close();
								} catch (SQLException e) {
									e.printStackTrace();
								}
							}
						}
					}
				}
			}
		
	}
}

 

获得连接工具类(2)

package com.bpcrm.kevin.util.DB_utill.simple_connection;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
/**
 * 简单数据库连接工具类
 * @author kevin.wangwei
 * Email:wanwei.234@163.com
 * 2009-12-26
 */
public final class JdbcUtil {
	/**定义一个私有的构造函数,禁止创建该对象实例*/
	private  JdbcUtil(){};
	static {
		//注册驱动
			try {
				Class.forName(DBPropertyUtil.strDB_Driver);
			} catch (ClassNotFoundException e) {
				e.printStackTrace();
			}
	}
	/**
	 * 获得数据库连接对象
	 * @return 数据库连接对象
	 * @throws SQLException
	 */
	public static Connection getConnection() throws SQLException{
		return DriverManager.getConnection(DBPropertyUtil.DBUrl,DBPropertyUtil.DBUser,DBPropertyUtil.DBPassword);
	}
	/**
	 * 释放资源 
	 * 保证程序在出现任何异常都要关闭连接对象
	 * @param rs 结果集
	 * @param st statement
	 * @param conn 连接
	 */
	public static void free(ResultSet rs,Statement st,Connection conn){
			if(rs!=null){
				try {
					rs.close();
				} catch (SQLException e) {
					e.printStackTrace();
				}finally{
					if(st!=null){
						try {
							st.close();
						} catch (SQLException e) {
							e.printStackTrace();
						}finally{
							if(conn!=null){
								try {
									conn.close();
								} catch (SQLException e) {
									e.printStackTrace();
								}
							}
						}
					}
				}
			}
		
	}
}

 

 

 


 

分享到:
评论

相关推荐

    JDBC数据库连接工具类

    **JDBC数据库连接工具类详解** Java Database Connectivity (JDBC) 是Java编程语言与各种数据库进行交互的一种标准接口。它允许Java程序通过SQL语句来访问和操作数据库。在实际开发中,为了方便管理和重用数据库...

    通用 数据库访问 工具 类

    这个工具类支持Access、Oracle和SQL等多种常见的数据库系统,通过工厂模式进行数据库连接的创建与管理,使得开发者只需要关注SQL语句本身,无需手动处理数据库连接的开启与关闭。 首先,我们要理解什么是工厂模式。...

    数据库连接工具RazorSQL

    **RazorSQL:一款强大的数据库连接工具** RazorSQL是一款高效且功能丰富的数据库管理工具,专为IT专业人员设计,支持多种数据库类型的连接和管理。它允许用户通过一个统一的界面来浏览、查询、编辑、执行SQL命令...

    java连接数据库工具类--DBConnection(java源码)

    * 获得与数据库的连接 * * @param path * @return Connection */ public static Connection getConn(String classDriver, String url, String user, String pwd) { try { Class.forName(class...

    VS+SQL数据库连接

    - 在代码中,可以使用ADO.NET(如SqlConnection类)来建立和管理数据库连接。例如: ```csharp string connectionString = ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString; ...

    jaava和jsp工具类

    [工具类] 连接数据库的工具类 .java [工具类] 使用Java程序来实现HTTP文件的队列下载 .java [工具类] 文件操作工具类 .java [工具类] 序列化保存为XML文件的工具类 .java [工具类] 一个压缩工具类 .java [工具...

    30个java工具类

    [工具类] 连接数据库的工具类 .java.txt [工具类] 使用Java程序来实现HTTP文件的队列下载 .java.txt [工具类] 文件操作工具类 .java.txt [工具类] 序列化保存为XML文件的工具类 .java.txt [工具类] 一个压缩工具类....

    c3p0数据库连接池示例

    **c3p0数据库连接池**是Java应用中广泛使用的第三方数据库连接管理工具,它能够有效地管理和优化数据库连接,提高应用程序的性能和效率。c3p0库通过提供连接池功能,使得数据库连接可以被多个并发请求共享,避免了...

    数据库连接池——JDBC通过代理模式来保持用户关闭连接的习惯

    JDBC(Java Database Connectivity)是Java语言访问数据库的标准API,它提供了一套接口和类来建立、执行SQL语句以及管理数据库连接。然而,直接使用JDBC进行数据库操作时,频繁地打开和关闭连接会导致大量的系统资源...

    【强2】30个java工具类

    [工具类] 连接数据库的工具类 .java.txt [工具类] 使用Java程序来实现HTTP文件的队列下载 .java.txt [工具类] 文件操作工具类 .java.txt [工具类] 序列化保存为XML文件的工具类 .java.txt [工具类] 一个压缩工具类....

    数据库连接池项目相关资料

    在实际项目中,配置和优化数据库连接池是非常关键的。例如,设置合适的最大连接数以避免资源浪费,同时确保在高并发下有足够的连接可用;调整连接超时时间防止死锁和资源占用;启用连接验证以保证每次使用的连接都是...

    java提取数据库表字段信息的工具类.docx

    这个工具类使用了Java的JDBC API来连接数据库并执行SQL查询。`ResultSetMetaData`对象提供了关于结果集列的信息,包括列名和Java类型。注意,在实际项目中,通常会将这些方法封装到一个更复杂的类或框架中,并且会...

    DBeaver连接达梦|虚谷|人大金仓等国产数据库

    在IT行业中,数据库管理系统(DBMS)是至关重要的软件组件,尤其在中国,为了保障数据安全和自主可控,国产数据库如人大金仓、达梦、虚谷等已经得到了广泛应用。DBeaver是一款开源、多平台的数据库管理和开发工具,...

    MySQL API连接数据库

    MySQL API是MySQL数据库提供的一种接口,允许程序员使用各种编程语言与MySQL服务器进行通信。...不过,随着技术的发展,建议考虑升级到更现代的开发工具和数据库连接技术,以获得更好的性能、安全性和兼容性。

    C# 连接各种数据库返回DataTable的方法

    同时,还可以利用`using`语句块来自动管理数据库连接的生命周期,确保资源得到正确释放。 这些基本的连接和查询方法是C#数据库编程的基础,了解并熟练掌握它们对于任何C#开发者来说都至关重要。通过学习和实践,你...

    写了一个简单的数据库连接池 与 大家交流一下,为什么使用Vector呢?

    在这个话题中,我们主要讨论的是一个简单的数据库连接池实现,以及为什么选择使用`Vector`这个特定的集合类。 数据库连接池的工作原理是预先创建并维护一定数量的数据库连接,当应用程序需要与数据库交互时,而不是...

    VC++连接access数据库

    当操作完成后,记得关闭数据库连接和记录集: ```cpp rs.Close(); db.Close(); ``` 8. **异常处理**: 在实际应用中,应添加异常处理代码,捕获可能出现的错误,确保程序的健壮性。 9. **注意的细节**: - ...

    druid配置数据库连接使用密文密码

    Druid相比其他数据库连接池(如C3P0、DBCP等)具有更好的性能和稳定性,在实际项目中被广泛应用。 #### 密文密码的重要性 在软件开发中,直接将数据库密码写入配置文件是一种常见的做法,但这种方式非常不安全。...

    dreamweaver编写jsp时连接数据库

    在使用Dreamweaver进行JSP开发时,连接到MySQL数据库是一项基本操作。在这个过程中,我们需要了解几个关键概念和步骤。以下是一份详细的说明: 首先,MySQL 4.1是数据库管理系统,它提供了一种存储和管理数据的方式...

    连接数据库的三个Jar包

    数据库连接池如`c3p0.jar`、`dbcp.jar`(Apache Commons DBCP)、`hikaricp.jar`等,是提高数据库连接效率的重要工具。它们管理数据库连接的生命周期,提供复用已打开的连接,避免频繁创建和关闭连接带来的性能开销...

Global site tag (gtag.js) - Google Analytics