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

这是一个写的非常好的获得数据库连接工具类,里面提供常用数据库驱动名称和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();
								}
							}
						}
					}
				}
			}
		
	}
}

 

 

 

 

 

package com.hexiang.utils.dao; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.Properties; import javax.naming.Context; import javax.naming.InitialContext; import javax.naming.NamingException; import javax.sql.DataSource; import org.apache.log4j.Logger; public class DBConnection { /** * 获得与数据库的连接 * * @param path * @return Connection */ public static Connection getConn(String classDriver, String url, String user, String pwd) { try { Class.forName(classDriver); return DriverManager.getConnection(url, user, pwd); } catch (ClassNotFoundException ex) { ex.printStackTrace(); } catch (SQLException ex) { ex.printStackTrace(); } return null; } public static Connection getConn(DataSource dataSource) { try { return dataSource.getConnection(); } catch (SQLException ex) { ex.printStackTrace(); } return null; } public static Connection getConn(String jndiName) { try { Context ctx; ctx = new InitialContext(); DataSource dataSource = (DataSource) ctx.lookup("java:comp/env/" + jndiName); return dataSource.getConnection(); } catch (NamingException ex) { ex.printStackTrace(); } catch (SQLException ex) { ex.printStackTrace(); } return null; } public static Connection getConn(Properties properties) { try { String driver = properties.getProperty("jdbc.driverClassName"); String url = properties.getProperty("jdbc.url"); String user = properties.getProperty("jdbc.username"); String password = properties.getProperty("jdbc.password"); Class.forName(driver); return DriverManager.getConnection(url, user, password); } catch (ClassNotFoundException ex) { ex.printStackTrace(); } catch (SQLException ex) { ex.printStackTrace(); } return null; } /** * oracle连接 * * @param path * @return Connection */ public static Connection getOracleConn(String
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值