⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 database.java

📁 java彩信开发
💻 JAVA
字号:
package cn.netjava.mmsclient.util;
import java.sql.*;

/**
 * 
 * <p>Title:中国移动mm7协议客户端 V0.1</p>
 * <p>Description:数据库连结对象 </p>
 * <p>Company:蓝杰实训 </p>
 * @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();
    }
  }

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -