📄 pushbean.java
字号:
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 + -