`
kevin_wanwei
  • 浏览: 114251 次
  • 性别: 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();
								}
							}
						}
					}
				}
			}
		
	}
}

 

 

 


 

分享到:
评论

相关推荐

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

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

    jaava和jsp工具类

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

    30个java工具类

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

    【强2】30个java工具类

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

    Java数据库连接(JDBC版)

    java版的数据库连接工具类,修改mysql连接参数即可使用,随时获得jdbc连接

    DBCP( Database Connection Pool )数据库连接池

    DBCP是一个依赖Jakarta commons-pool对象池机制的数据库连接池.DBCP可以直接的在应用程序中使用,Tomcat的数据源使用的就是DBCP; 使用连接池的第一项工作就是导包,这里需要的两个jar包分别是: commons-dbcp-1.4....

    数据库调试工具

    1、本程序参考【SQL Server Management Studio】的操作习惯编写。 2、实时显示sql语法错误,定位错误代码,提示错误原因,方便修改调试。 3、可执行多条sql语句,...2.0:调整MDB数据库连接时输入密码的长度限制。

    数据库表生成javabean工具及源代码(修正版)

    通过软件 连接数据库 得到数据库中的表 直接生成javabean 方便开发 支持oracle mysql

    简单易用、跨数据库平台的数据库管理工具

    2、跨数据库应用,基于ODBC连接,任何数据库只要配置好ODBC即可识别,注册方法简单 3、可生成JAVA、DELPHI的实体类代码 4、可生成sqlserver的建表sql脚本 5、可将查询数据导出为EXCEL表,每5万为单位进行文件分割 6...

    JDBC连接MySQL数据库实现增删改查(Dao层实现 解决硬编码 配置连接池获得连接对象 )

    工具类 JDBCUtil.java(抽取公共部分,解决硬编码问题 DBCP方式实现连接池、配置连接池 ==&gt; 获得连接对象连接数据库) 用户账号实体类 User.java(私有化数据库t_user表中的id,username,password) 接口类 ...

    jdbc连接数据库的方式2

    如果利用Oracle的面向对象的技术,可以通过创建一个新的数据库对象类型在数据库中模仿其数据和操作,然后使用JPublisher等工具生成自己的Java bean类。如果使用这种方式,不但Java应用程序可以使用应用软件的对象...

    数据库设计与应用开发(1).doc

    学习如何进行数据库连接。 " "4.制作一个简单的数据库访问程序。(DELPHI、VB、PB等) " "要求能完成下列处理要求: " "1.学生信息的增、删、改及查询操作。 " "2.选课和课程信息的系列操作。 " "实验步骤: " "一、...

    数据库学习基础之名词解释

    这类数据库包含有大量的数据记录,但其目的是向用户提供各种统计汇总信息,而不是提供单个记录的信息。  网状数据库  处理以记录类型为结点的网状数据模型的数据库。处理方法是将网状结构分解成若干棵二级树结构,...

    数据库设计与应用开发.docx

    学习如何进行数据库连接。 4.制作一个简单的数据库访问程序。(DELPHI、VB、PB等) 要求能完成下列处理要求: 1.学生信息的增、删、改及查询操作。 2.选课和课程信息的系列操作。 实验步骤: 一、VB连接SQL Server...

    数据库系统概论第四版答案

    引入数据库后的系统构成,一般由数据库、数据库管理系统(及其开发工具)、应用系统、 数据库管理员构成。解析数据库系统和数据库是两个概念。数据库系统是一个人一机系统, 数据库是数据库系统的一个组成部分。但是...

    简单数据库服务器调试(源码)

    一个简单的数据库服务器调试工具,还没写完的 现在支持SQL和Oracle两类,SQL只用到一种连接方式,而Oracle用到了ADO和OO4O(部分功能尚未完成), 支持SQL语句执行(支持SQL Server和Oracle语法,并支持关键字高亮)...

    数据库大作业--超市管理系统.docx

    首先通过vs2013添加mysql软件提供的数据库连接的类库,包括mysql的头文件和相应的类,来配置mysql函数运行的环境。在程序中通过添加头文件#include ,利用其中提供的api函数来对数据库进行交互。 四、数据库的基本...

    JDBC 3.0数据库开发与设计

    2.2.5 Java连接各类数据库的程序代码 2.3 Web应用服务器 2.3.1 Tomcat的安装及系统文件设置 2.3.2 WebSphere简介 2.3.3 WebLogic的安装和配置 2.3.4 Resin的安装与配置 2.4 Java开发环境 2.4.1 JDK设置 ...

Global site tag (gtag.js) - Google Analytics