www.pudn.com > mobileMms.rar > DataBase.java
package cn.netjava.mmsclient.util; import java.sql.*; /** * *Title:中国移动mm7协议客户端 V0.1
*Description:数据库连结对象
*Company:蓝杰实训
* @author NetJava.cn * @version 0.1 */ public class DataBase { private static final DataBase db = new DataBase(); // private static final String FILE = System.getProperty("user.dir") + // File.separator+"cfg"+File.separator // + "service.conf"; Connection conn = null; Statement stmt = null; String DB_DRIVER = ""; String DB_URL = ""; String DB_USER = ""; String DB_PWD = ""; // private static DataBase db_gw = new DataBase(); public static DataBase getInstance() { return db; } // public static DataBase getInstance(String s) { // return db_gw; // } public synchronized Connection getConn() { // Connection conn = null; try { Class.forName("net.sourceforge.jtds.jdbc.Driver").newInstance(); String connUrl = SysConfig.getInstance().hashmap.get("DBConnectString").toString(); String user = SysConfig.getInstance().hashmap.get("DBuser").toString(); String password = SysConfig.getInstance().hashmap.get("DBpassword").toString(); conn = DriverManager.getConnection("jdbc:jtds:sqlserver://"+connUrl,user,password); // conn = DriverManager.getConnection("jdbc:jtds:sqlserver://lj","sa","qwe");//+IsmgInfo.CONNECTION_URL, IsmgInfo.DB_USER, IsmgInfo.DB_PASS); // conn = DriverManager.getConnection("jdbc:jtds:sqlserver://"+IsmgInfo.CONNECTION_URL, IsmgInfo.DB_USER, IsmgInfo.DB_PASS); // // System.out.println("getConn is ok"); // LogManage.ins().logger.info("初始化provision数据库成功!"); return conn; } catch (ClassNotFoundException e) { System.out.println("找不到数据库驱动: " + e); System.exit( -1); return null; } catch (Exception e) { close(); threadSleep(10000); LogManage.ins().logger.severe(" DataBase:getConn: " + e); return null; } } public synchronized Statement getStmt() { try { if (stmt == null) { if (conn == null) { getConn(); } stmt = conn.createStatement(); } return stmt; } catch (Exception e) { close(); threadSleep(1000); LogManage.ins().logger.severe(" DataBase:getStmt: " + e); return null; } } public synchronized ResultSet getRs(String sql) { ResultSet rs = null; try { getStmt(); rs = stmt.executeQuery(sql); return rs; } catch (SQLException e) { if (e.getErrorCode() == 0) { close(); threadSleep(1000); } LogManage.ins().logger.severe(" getRs: " + e.toString()); LogManage.ins().logger.severe(" sql = " + sql); return null; } catch (Exception e) { LogManage.ins().logger.severe(" getRs: " + e.toString()); LogManage.ins().logger.severe(" sql = " + sql); return null; } } public synchronized boolean exeSql(String sql) { try { getStmt(); stmt.executeUpdate(sql); return true; } catch (SQLException e) { if (e.getErrorCode() == 0) { close(); threadSleep(1000); } LogManage.ins().logger.severe(" exeSql: " + e.toString()); LogManage.ins().logger.severe(" sql = " + sql); return false; } catch (Exception e) { LogManage.ins().logger.severe(" exeSql: " + e.toString()); LogManage.ins().logger.severe(" sql = " + sql); return false; } } public synchronized void close() { try { if (stmt != null) { stmt.close(); } stmt = null; if (conn != null) { conn.close(); } conn = null; } catch (Exception e) { // TODO: handle exception } } public void close(ResultSet rs) { try { if (rs != null) { rs.close(); } } catch (Exception e) { LogManage.ins().logger.severe(e.toString()); } } public static void threadSleep(long i) { try { Thread.sleep(i); } catch (Exception ex) { ex.printStackTrace(); } } }