package shawn.test; import java.io.File; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.Iterator; import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.Element; import org.dom4j.io.SAXReader; public enum DBConnection{ CON{ public Connection getConn() { Connection conn = null; try { Class.forName(DRIVER); conn = DriverManager.getConnection(URL, name, pwd); System.out.println("获得数据库连接成功!"); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } return conn; } public void closeAll(ResultSet rs, Statement st, Connection conn) { if (rs != null) { try { rs.close(); } catch (SQLException e) { e.printStackTrace(); } } if (st != null) { try { st.close(); } catch (SQLException e) { e.printStackTrace(); } } if (conn != null) { try { conn.close(); System.out.println("关闭数据库连接成功!"); } catch (SQLException e) { e.printStackTrace(); } } } }; private static final String DRIVER = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; private static final String URL = "jdbc:sqlserver://localhost:2222;databasename=StorageDB"; private static String name; private static String pwd; public abstract Connection getConn(); public abstract void closeAll(ResultSet rs, Statement st, Connection conn); static { SAXReader reader = new SAXReader(); String classPath = DBConnection.class.getResource("/").getPath(); String path = classPath+"config.xml"; System.out.println(path); try { Document document = reader.read(new File(path)); Element root=document.getRootElement(); Iterator it = root.elementIterator(); while(it.hasNext()){ Element e=(Element)it.next(); if(e.getName().equalsIgnoreCase("name")){ name = e.getTextTrim(); }else if(e.getName().equalsIgnoreCase("pwd")){ pwd = e.getTextTrim(); } } } catch (DocumentException e) { e.printStackTrace(); } }; }