读书人

JDBC公共操作方法(2):获取数据库连接

发布时间: 2012-09-07 10:38:15 作者: rapoo

JDBC公共操作方法(二):获取数据库连接 Connection

1.?获取数据库连接

?

import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import org.apache.log4j.Logger;public final class JDBCUtil {private static final Logger LOG = Logger.getLogger(JDBCUtil.class);//使用ThreadLocal保存Connectionprivate static ThreadLocal<Connection> local = new ThreadLocal<Connection>();private static JDBCUtil instance = new JDBCUtil();private JDBCUtil() {}public static JDBCUtil getInstance() {return instance;}/** * @Title: getConnection * @Description: 获取数据库连接 * @return Connection * @author * @date 2011-12-29 */public static Connection getConnection() {// 获取jdbc.properties中配置的key-valueParseSqlPropertiesFile.getInstance().getJDBCConfig();String driverClass = JDBCConstants.jdbcMap.get("jdbc.driverclass");String url = JDBCConstants.jdbcMap.get("jdbc.url");String user = JDBCConstants.jdbcMap.get("jdbc.username");String password = JDBCConstants.jdbcMap.get("jdbc.password");// 记录连接属性日志LogJDBCProperties.getInstance().logConnectionProperty(driverClass, url,user, password);Connection connection = null;try {Class.forName(driverClass);} catch (ClassNotFoundException e) {LOG.error("can not find class:'" + driverClass + "'", e);return connection;} catch (Exception e) {LOG.error("load driverClass faile!", e);return connection;}try {connection = DriverManager.getConnection(url, user, password);if (null == local.get()) {local.set(connection);}} catch (SQLException e) {LOG.error("get connection faile!", e);} catch (Exception e) {LOG.error("get connection faile!", e);}return local.get();}/** * @Title: close * @Description: 关闭与数据库的连接 * @param conn * @param rs * @param s * @author * @date 2011-12-29 */public static void close(Connection conn, ResultSet rs, Statement s) {if (null != rs) {try {rs.close();} catch (SQLException e) {LOG.error("close ResultSet faile!", e);}}if (null != s) {try {s.close();} catch (SQLException e) {LOG.error("close Statement faile!", e);}}if (null != conn) {try {conn.close();} catch (SQLException e) {LOG.error("close Connection faile!", e);}}}public static void rollback(Connection connection) {if (null != connection) {try {connection.rollback();} catch (SQLException e) {LOG.error("connection rollback faile!", e);}}}/* * public static void main(String[] args) { *  * Connection connection = JDBCUtil.getInstance().getConnection(); *  * if (null != connection) { boolean isClose = true; try { isClose = * connection.isClosed(); } catch (SQLException e) { e.printStackTrace(); } * if (isClose) { System.out.println("can not connect to database."); } else * { System.out.println("connect to database success."); } } else { * System.out .println("connection is null,can not connect to database."); } * close(connection,null,null); } */}
?

读书人网 >其他数据库

热点推荐