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

📄 pushbean.java

📁 前一次上传错了
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
package mybean;

import java.net.*;
import java.sql.*;
import javax.sql.*;
import java.lang.*;
import java.io.*;
import java.util.Date;
import java.util.ArrayList;
import java.sql.SQLException;
import mybean.*;




/**
 * <p>Title: pushBean</p>
 * <p>Description: </p>
 * <p>Copyright: Copyright (c) 2005</p>
 * <p>Company: wuhan Tianyu</p>
 * @author not attributable
 * @version 1.0
 */

public class pushBean extends Thread{



private Connection connect = null;
private Statement stmt = null;
private Statement stmt2 = null;
private String m_strActtype = "";
private String m_strAid = "";
private myDate m_dateRundate;
private String m_strMenuID = "";
private String m_strPushFileData = "";
private int m_nUserlevel = 0;
private int m_nMaxID =0;
private int m_nVec = 0;//从配置文件中读取
private int m_nStartID = 1;//从配置文件中获得,在特定时间写入配置文件
private String m_strMenuname = null;
private ArrayList m_arrm_strAidList = new ArrayList();
private int m=0;//测试用




/*
创建数据库的连接
返回-1表示连接失败,返回1表示数据库连接成功
*/
public boolean connect() {
    boolean flag  = false;
    try {
     Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
     String url = "jdbc:odbc:ota";
     String user = "hbota2";
     String password = "ty1234";
     connect = DriverManager.getConnection(url,user,password);
     stmt = connect.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);//创建可修改、可反应其它表变化的连接
     stmt2 = connect.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
     flag = true;
     System.out.println("数据库链接成功");

   }catch(Exception e){
     e.printStackTrace();
     this.Close();
     System.out.println("链接失败");
     System.out.println("数据库初始化失败");
     flag = false;
   }
   finally{
     return flag;
   }
 }


/*
  关闭数据库
*/
public void Close() throws SQLException{
    stmt.close();
    stmt.close();
    stmt2.close();
    connect.close();

  }


/*
   执行SQL数据,反话ResultSet类
      */
public ResultSet executeQuery(String sql) throws SQLException {
    ResultSet rs = null;
    try{
      rs = stmt.executeQuery(sql);
    }catch(Exception e){
      e.printStackTrace();
    }
    finally{
      return rs;
    }
  }





public String getAid(){
  return m_strAid;
}

public void setAid(String aid){
  m_strAid = aid;
}

public void setActtype(String acttype){
  m_strActtype = acttype;
}

public String getActtype(){
  return m_strActtype;
}

public String getPushFileData(){
  return m_strPushFileData;
}

public void setPushFileData(String filedata){
  m_strPushFileData = filedata;
}

public void setMenuID(String newMenuID){
  m_strMenuID = newMenuID;
}

public String getMenuID(){
  return m_strMenuID;
}


public void setUserlevel(int newUserlever){
  m_nUserlevel = newUserlever;
}

public int getUserlevel(){
  return m_nUserlevel;
}

public void setVec(int newvec){
  m_nVec = newvec;
}

public void setMaxID(int maxID){
  m_nMaxID = maxID;
}



public void setStartID(int ID){
  m_nStartID = ID;
}

public void getRundate(){
  m_dateRundate = new myDate();
}

/*
 从配置文件中读取Vec
 若返回的是-1则获得Vec失败
 */
public int getVecInit(){
  int i = -1;
  String strMaxID = null;
  strMaxID = CommonMethods.getConfigString("Vec");
  i = Integer.parseInt(strMaxID);
  return (i);

}


/*
 从配置文件中获得StartID
 若返回的是-1则获得StartID失败
 */
public int getStartIDInit(){
  int i = -1;
  String StartID = null;
  StartID = CommonMethods.getConfigString("StartID");
  i = Integer.parseInt(StartID);
  return ( i );
}


/*
 从配置文件中获得UserLevel
 若返回的是-1则获得UserLevel失败
 */
public int getUserLevelInit(){
  int i = -1;
  String Userlvl = null;
  Userlvl = CommonMethods.getConfigString("UserLevel");
  i = Integer.parseInt(Userlvl);
  return ( i );
}


/*
 从配置文件中获得Acttype
 若返回的是false则获得Acttype失败
 */
public String getActtypeInit(){
  String string = "false";
  string = CommonMethods.getConfigString("Acttype");
  return string;
}


/*
 从配置文件中获得aid
 若返回的是false则获得aid失败
 */
public String getAidInit(){
  String aid = "false";
  aid = CommonMethods.getConfigString("Aid");
  return aid;
}


/*
 从配置文件中获得PushFileData
 若返回的是false则获得PushFileData失败
 */
public String getPushFileDataInit(){
  String filedata = "false";
  filedata = CommonMethods.getConfigString("PushFileData");
  return filedata;
}


/*
 从配置文件中读取各种信息
 若有其中一个信息读取失败,返回false;
 不然返回true;
 */
public boolean getInfoFromInit(){
  boolean flag = true;
  setStartID(getStartIDInit());
  setVec(getVecInit());
  setUserlevel(getUserLevelInit());
  setActtype(getActtypeInit());
  setAid(getAidInit());
  setPushFileData(getPushFileDataInit());
  if(m_nStartID == -1 )
  {
    System.out.println("Get StartID From Init fail");
    flag = false;
  };
  if( m_nVec == -1)
  {
    System.out.println("Get Vec From Init fail");
    flag = false;
  };
  if(m_nUserlevel == -1)
  {
    System.out.println("Get Userlevel From Init fail");
    flag = false;
  }
  if(m_strActtype.equals("false"))
  {
    System.out.println("Get Acttype From Init fail");
    flag = false;
  }
  if(m_strAid.equals("false"))
  {
    System.out.println("Get Aid From Init fail");
    flag = false;
  }
  if(m_strPushFileData.equals("false"))
  {
    System.out.println("Get PushFileData From Init fail");
    flag = false;
  }
  return flag;
}

/*
 枚5分钟重新连接数据库一次
 */
public boolean reconnectDatabase(){
  int i = 1;
  boolean flag = false;
  try {
    do{
      Close();
      System.out.println("now re-connect database wait 5 minute!");
      sleep(300000); //等待5秒钟
    }while(!connect());
    flag  = true;
  }
  catch (Exception e) {
    flag = false;
    e.printStackTrace();
  }finally{
    return flag;
  }
}


/*
 重新执行DrawRecord步骤,若连续三次执行不成功,则重连数据库,
 若重连数据库后一小时后仍未获得结果成功,就再次重连数据库 重复前面的步骤
 直至查找到结果为止
 */
public ResultSet reGetRecord(){
  ResultSet rs = null;
  int i = 0;
  try {
    while(rs==null){//不断重连数据库
      //Close();//关闭数据库
      while(!connect());//重联数据库,知道连接成功
        rs = this.getRecord();
      };
      System.out.println("re-getRecord success");
    }
  catch (Exception ex) {
    ex.printStackTrace();
    rs = null;
  }
  finally {return rs;}
}


/*
  输入参数为一个ResultSet 类,
  根据这个类当前行的信息插入数据
 返回的为一个boolean型数据,

⌨️ 快捷键说明

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