package com.ycsoft.daos.jdbc; import java.io.IOException; import java.io.InputStream; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.Statement; import java.util.Properties; import com.ycsoft.commons.helper.LoggerHelper; /** * 连接类,根据ClassPath下的jdbc.properties资源文件 * 加载JDBC Connection对象 * * @author hh * @date Feb 3, 2010 3:15:53 PM */ public final class ConnectionProvider { static final String JDBC_USER = "jdbc.username" ; static final String JDBC_PWD = "jdbc.password" ; static final String JDBC_URL = "jdbc.url" ; static final String JDBC_DRIVER = "jdbc.driver" ; static final String JDBC_FILE = "/jdbc.properties" ; /** * 属性配置文件内存对象 */ static Properties props = new Properties(); static { InputStream is = ConnectionProvider.class.getResourceAsStream(JDBC_FILE); try { props.load(is); } catch (IOException e) { LoggerHelper.error(ConnectionProvider.class, "加载jdbc.properties失败!" + e.getLocalizedMessage()); } } /** * 生成一个新的连接对象。 * @return */ public static Connection getConnection()throws Exception{ Connection conn = null ; String driv = props.getProperty(JDBC_DRIVER); String url = props.getProperty(JDBC_URL); String user = props.getProperty(JDBC_USER); String pwd = props.getProperty(JDBC_PWD); Class.forName( driv ); conn = DriverManager.getConnection(url, user, pwd); return conn ; } /** * 关闭连接资源、会话对象、预处理对象 */ public static void close(Connection conn , Statement state , PreparedStatement ps)throws Exception{ if(state != null){ state.close(); } if(ps != null){ ps.close(); } if(conn != null){ conn.close(); } } /** * 关闭连接资源、会话对象 */ public static void close(Connection conn, Statement state)throws Exception{ close(conn , state, null); } /** * 关闭连接资源、预编译对象 */ public static void close(Connection conn, PreparedStatement ps)throws Exception{ close(conn , null , ps); } }