package com.accphr.util; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.Properties; /** * 数据库访问工具类(使用了单例模式和工厂模式) */ public class DBAccess { /* 驱动程序的名字 */ private static String driver; /* 连接数据库用的URL */ private static String url; /* 用户名 */ private static String user; /* 密码 */ private static String pwd; /* DBAccess类型的一个引用,用来持有自身的一个对象 */ private static DBAccess self = null; /* 私有的构造方法,保证此类不能在外部进行实例化 */ private DBAccess() { try { Properties pros = new Properties(); // 此类用于读取配置文件config.properties pros.load(DBAccess.class.getResourceAsStream("config.properties")); driver = pros.getProperty("driver"); url = pros.getProperty("url"); user = pros.getProperty("user"); pwd = pros.getProperty("pwd"); } catch (Exception ex) { throw new RuntimeException(ex); } } /** * 返回DBAccess类的一个实例 * * @return */ public static DBAccess newInstance() { if (null == self) { self = new DBAccess(); } return self; } /** * 返回数据库连接对象 * * @return Connection */ public Connection getConnection() { try { Class.forName(driver); // 加载驱动程序 return DriverManager.getConnection(url, user, pwd); // 通过驱动程序管理器得到数据库连接对象 } catch (Exception ex) { throw new RuntimeException(ex); } } public void close(Connection conn, Statement stmt, ResultSet rs) { close(rs); close(stmt); close(conn); } public void close(Connection conn) { if (null != conn) { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } public void close(Statement stmt) { if (null != stmt) { try { stmt.close(); } catch (SQLException e) { e.printStackTrace(); } } } public void close(ResultSet rs) { if (null != rs) { try { rs.close(); } catch (SQLException e) { e.printStackTrace(); } } } public static void main(String[] args) { Connection conn = DBAccess.newInstance().getConnection(); if (null != conn) { System.out.println("数据库连接成功!"); } else { System.out.println("数据库连接失败!"); } } }
最近下载更多
3199625134 LV10
2022年5月19日
MarkLee 琥珀川 LV13
2021年7月7日
dsdfasfdf LV1
2020年3月13日
qwqzbl LV6
2019年11月14日
xp95323 LV14
2019年8月21日
xiaoxiao303 LV8
2019年3月4日
czp1068894 LV8
2017年6月23日
沉默的羔羊 LV13
2016年12月31日
haibin24 LV7
2015年1月27日
qianyunlai LV1
2013年4月7日
最近浏览更多
zt3631877 LV9
2023年10月20日
polariss LV4
2023年6月5日
akbar2020 LV9
2022年8月27日
3199625134 LV10
2022年5月19日
billzw LV6
2022年2月13日
jimshao289015254 LV9
2021年12月31日
zhangtian1997 LV10
2021年10月8日
MarkLee 琥珀川 LV13
2021年7月7日
zxl201377 LV2
2021年6月30日
luo027
2021年5月1日
暂无贡献等级