📄 database.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 + -