DataManager

/*
 * Created on 2006-12-12
 *
 * To change the template for this generated file go to
 * Window>Preferences>Java>Code Generation>Code and Comments
 
*/

package  com.jinfonet.loganalyzer.logAnalyzeTool.manager;

import  java.sql.Connection;
import  java.sql.DatabaseMetaData;
import  java.sql.DriverManager;
import  java.sql.ResultSet;
import  java.sql.SQLException;
import  java.sql.Statement;
import  java.util.Vector;

import  com.jinfonet.loganalyzer.logAnalyzeTool.message.LogMessage;
import  com.jinfonet.loganalyzer.logAnalyzeTool.message.PerformanceMessage;
import  com.jinfonet.loganalyzer.logAnalyzeTool.util.LogEnvProperties;

/**
 * 
@author tao.ni
 *
 * To change the template for this generated type comment go to
 * Window>Preferences>Java>Code Generation>Code and Comments
 
*/

public   class  DataBaseManager  {
    
private Connection con = null;
    
private DatabaseMetaData dmd = null;
    Statement st 
= null;
    
private String tablename = "";
    
public DataBaseManager(){
        
    }

    
public void init(){
        
try{
            String url,user,pwd;
            String tn,in,it,str;
            url 
= LogEnvProperties.getDataURL(); //"jdbc:odbc:log";
            user = LogEnvProperties.getDataUserName(); //"admin";
            pwd = LogEnvProperties.getDataPassWord(); //"1234";
            Class.forName(LogEnvProperties.getDataDriver());//"sun.jdbc.odbc.JdbcOdbcDriver");
            con = DriverManager.getConnection(url,user,pwd);
            dmd 
= con.getMetaData();
            st 
= con.createStatement();
//            ResultSet rs = dmd.getIndexInfo(null,null,"logfile",false,false);
//            while(rs.next()){
//                tn = rs.getString("TABLE_NAME");
//                in = rs.getString("INDEX_NAME");
//                str = "table name : " + tn +"   index name: "+ in;
//                System.out.println(str);
//            }
//            String calculate ="INSERT INTO logfile VALUES("; 
//            String m = "7," + "0," + "'engine',"+"'aaaaaaaaa')";
//            String ca = "SELECT * FROM logfile";
//            String creatorT = "CREATE TABLE logfile2(id# INTEGER NOT NULL,massage VARCHAR,time VARCHAR)";
//            Statement st = con.createStatement();
//            ResultSet rest = st.executeQuery(ca);
//            while(rest.next()){
//                System.out.println(rest.getString("id"));
//                System.out.println(rest.getString("level"));
//                System.out.println(rest.getString("class"));
//                System.out.println(rest.getString("message"));
//            }
//            st.executeUpdate(calculate + m);
//            st.executeUpdate(creatorT);
//            st.close(); 
//            con.close(); 
        }
catch(Exception e){
            e.printStackTrace(); 
        }


    }

    
public boolean connectDB(String url,String user,String pwd){
        
try {
            con 
= DriverManager.getConnection(url,user,pwd);
            dmd 
= con.getMetaData();
            st 
= con.createStatement();
        }
 catch (Exception e) {
            
// TODO Auto-generated catch block
            e.printStackTrace();
        }

        
return true;
    }

    
public boolean connectDB(String url,String user,String pwd,String driver){
        
try {
            Class.forName(driver);
            con 
= DriverManager.getConnection(url,user,pwd);
            dmd 
= con.getMetaData();
            st 
= con.createStatement();
        }
 catch (Exception e) {
            
// TODO Auto-generated catch block
            e.printStackTrace();
        }

        
return true;
    }

    
public Connection getConnection(){
        
return con;
    }

    
public DatabaseMetaData getDataBase(){
        
return dmd;
    }

    
public boolean isConnectDataBase(){
        
return true;
    }

    
public void creatTable(String tableName,String colmN[]){
        String creatorT 
= "CREATE TABLE "+tableName+"(";//id# INTEGER NOT NULL,massage VARCHAR,time VARCHAR)";
        String info = "";
        info 
= info + "ID INTEGER,";
        
for(int i = 1;i< colmN.length-1;i++ ){
            
if(colmN[i].indexOf("ELAPSED"!= -1){
                info 
= info + colmN[i] + " INTEGER,";
            }
else{
                info 
= info + colmN[i] + " VARCHAR(225),";
            }

        }

        
if(colmN[colmN.length - 1].indexOf("ELAPSED"!= -1){
            info 
= info +  colmN[colmN.length-1+ " INTEGER)";
        }
else{
            info 
= info +  colmN[colmN.length-1+ " VARCHAR(225))";
        }

        String m 
= creatorT + info;
        
try {
//            Statement st = con.createStatement();
            st.executeUpdate(m);
//            st.close(); 
        }
 catch (SQLException e) {
            
// TODO Auto-generated catch block
            e.printStackTrace();
        }

    }

    
public void setInfoToTable(LogMessage info,String tableName){
        String calculate 
="INSERT INTO "+tableName+" VALUES("
        StringBuffer logInfo 
= new StringBuffer();
        Vector message 
= info.getLogInfo();
        
for(int i = 0;i<message.size() ;i++){
            logInfo.append(
"'");
            logInfo.append(message.elementAt(i));
            
if(i != message.size()-1){
                logInfo.append(
"',");
            }
else{
                logInfo.append(
"')");
            }

        }

        String m 
= calculate + info.getMessageId()+ "," + logInfo.toString();
        
//String m = calculate + info.getMessageId()+ "," + "'0'," + "'kjhgkjgj'," +"'15:08:25,046'," +"'engine',"+"'aaaaaaaaa')";
        try {
//            Statement st = con.createStatement();
            st.executeUpdate(m);
//            st.close(); 
        }
 catch (SQLException e) {
            
// TODO Auto-generated catch block
            e.printStackTrace();
        }

    }

    
public void setInfoToTable(int id,Vector info,String tableName){
        String calculate 
="INSERT INTO "+tableName+" VALUES("
        StringBuffer logInfo 
= new StringBuffer();
        Vector message 
= info;
        
for(int i = 0;i<message.size() ;i++){
            logInfo.append(
"'");
            
if(message.elementAt(i) == null){
                
if(i != 5){
                    logInfo.append(
" ");
                }
else{
                    logInfo.append(
0);
                }

            }
else{
                logInfo.append(message.elementAt(i));
            }

            
if(i != message.size()-1){
                logInfo.append(
"',");
            }
else{
                logInfo.append(
"')");
            }

        }

        String m 
= calculate + id + "," + logInfo.toString();
        
try {
            st.executeUpdate(m);
        }
 catch (SQLException e) {
            e.printStackTrace();
        }

    }

    
public void setInfoToTable(int id, PerformanceMessage info,String tableName){
        String calculate 
="INSERT INTO "+tableName+" VALUES("
        StringBuffer logInfo 
= new StringBuffer();
        Vector message 
= info.getColInfo();
        
for(int i = 0;i<message.size() ;i++){
            logInfo.append(
"'");
            
if(message.elementAt(i) == null){
                logInfo.append(
" ");
            }
else{
                
if(message.elementAt(i).equals("")||message.elementAt(i) == null){
                    logInfo.append(
" ");
                }
else{
                    
if((message.elementAt(i).toString()).indexOf("'"!= -1){
                        String temp 
= ((String)message.elementAt(i)).replaceAll("'"," ");
                        logInfo.append(temp);
                    }
else{
                        logInfo.append(message.elementAt(i));
                    }

                }

            }

            
if(i != message.size()-1){
                logInfo.append(
"',");
            }
else{
                logInfo.append(
"')");
            }

        }

        String m 
= calculate + id + "," + logInfo.toString();
        
//String m = calculate + info.getMessageId()+ "," + "'0'," + "'kjhgkjgj'," +"'15:08:25,046'," +"'engine',"+"'aaaaaaaaa')";
        try {
            st.executeUpdate(m);
        }
 catch (SQLException e) {
            
// TODO Auto-generated catch block
            System.out.println(m + "     "+tableName);
            e.printStackTrace();
        }

    }

    
public void setInfoToTable(PerformanceMessage info,String tableName){
        String calculate 
="INSERT INTO "+tableName+" VALUES("
        StringBuffer logInfo 
= new StringBuffer();
        Vector message 
= info.getColInfo();
        
for(int i = 0;i<message.size() ;i++){
            logInfo.append(
"'");
            
if(message.elementAt(i) == null){
                logInfo.append(
" ");
            }
else{
                logInfo.append(message.elementAt(i));
            }

            
if(i != message.size()-1){
                logInfo.append(
"',");
            }
else{
                logInfo.append(
"')");
            }

        }

        String m 
= calculate + info.getID() + "," + logInfo.toString();
        
//String m = calculate + info.getMessageId()+ "," + "'0'," + "'kjhgkjgj'," +"'15:08:25,046'," +"'engine',"+"'aaaaaaaaa')";
        try {
//            Statement st = con.createStatement();
            st.executeUpdate(m);
//            st.close(); 
        }
 catch (SQLException e) {
            
// TODO Auto-generated catch block
            e.printStackTrace();
        }

    }


    
public void setInfoToTable(LogMessage info){
        String calculate 
="INSERT INTO "+this.tablename+" VALUES("
        StringBuffer logInfo 
= new StringBuffer();
        Vector message 
= info.getLogInfo();
        
for(int i = 0;i<message.size() ;i++){
            logInfo.append(
"'");
            
if(((String)message.elementAt(i)).indexOf("'"!= -1){
                logInfo.append(((String)message.elementAt(i)).replaceAll(
"'","''"));
            }
else{
                
if(message.elementAt(i) == null){
                    logInfo.append(
" ");
                }
else{
                    logInfo.append(message.elementAt(i));
                }

            }

            
if(i != message.size()-1){
                logInfo.append(
"',");
            }
else{
                logInfo.append(
"')");
            }

        }

        String m 
= calculate + info.getMessageId()+ "," + logInfo.toString();
        
//String m = calculate + info.getMessageId()+ "," + "'0'," + "'kjhgkjgj'," +"'15:08:25,046'," +"'engine',"+"'aaaaaaaaa')";
        try {
//            Statement st = con.createStatement();
            st.executeUpdate(m);
//            st.close(); 
        }
 catch (SQLException e) {
            
// TODO Auto-generated catch block
            e.printStackTrace();
        }

    }

    
public void setInfoToTable(int id,LogMessage info,String tableName){
        String calculate 
="INSERT INTO "+tableName+" VALUES("
        StringBuffer logInfo 
= new StringBuffer();
        Vector message 
= info.getLogInfo();
        
for(int i = 0;i<message.size() ;i++){
            logInfo.append(
"'");
            
if(message.elementAt(i) == null){
                logInfo.append(
" ");
            }
else{
                logInfo.append(message.elementAt(i));
            }

            
if(i != message.size()-1){
                logInfo.append(
"',");
            }
else{
                logInfo.append(
"')");
            }

        }

        String m 
= calculate + Integer.toString(id)+ "," + logInfo.toString();
        
try {
            Statement st 
= con.createStatement();
            st.executeUpdate(m);
            st.close(); 
        }
 catch (SQLException e) {
            
// TODO Auto-generated catch block
            e.printStackTrace();
        }

    }

    
public void setInfoToTable(int id,LogMessage info){
        String calculate 
="INSERT INTO "+this.tablename+" VALUES("
        StringBuffer logInfo 
= new StringBuffer();
        Vector message 
= info.getLogInfo();
        
for(int i = 0;i<message.size() ;i++){
            logInfo.append(
"'");
            
if(message.elementAt(i) == null){
                logInfo.append(
" ");
            }
else{
                logInfo.append(message.elementAt(i));
            }

            
if(i != message.size()-1){
                logInfo.append(
"',");
            }
else{
                logInfo.append(
"')");
            }

        }

        String m 
= calculate + Integer.toString(id)+ "," + logInfo.toString();
        
try {
            Statement st 
= con.createStatement();
            st.executeUpdate(m);
            st.close(); 
        }
 catch (SQLException e) {
            
// TODO Auto-generated catch block
            e.printStackTrace();
        }

    }

    
public LogMessage getInfoFormTable(){
        
return null
    }

    
public void closeConnect(){
        
try {
            st.close(); 
            con.close();
        }
 catch (SQLException e) {
            
// TODO Auto-generated catch block
            e.printStackTrace();
        }

    }

    
public ResultSet getUsedInfoFromCol(String info,String col,String tableName){
        String query 
= "SELECT * FROM " + tableName + " WHERE "+col+" LIKE '%"+info+"%'";
        ResultSet rest 
=null;
        
try {
            Statement stat 
= con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
             rest 
= stat.executeQuery(query);
             
return rest;
        }
 catch (SQLException e) {
            
// TODO Auto-generated catch block
            e.printStackTrace();
            
return null;
        }

        
    }

    
public ResultSet getQueryResultSet(String query){
//        String query = "SELECT * FROM " + tableName + " WHERE "+col+" LIKE '%"+info+"%'";
        ResultSet rest =null;
        
try {
            Statement stat 
= con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
             rest 
= stat.executeQuery(query);
             
return rest;
        }
 catch (SQLException e) {
            
// TODO Auto-generated catch block
            e.printStackTrace();
            
return null;
        }

    }

    
public void clearTable(String tableName){
        String query 
= "DELETE * FROM " + tableName;
        
try {
             st.executeUpdate(query);
        }
 catch (SQLException e) {
            
// TODO Auto-generated catch block
            e.printStackTrace();
        }

        

    }

    
public void setTableName(String name){
        
this.tablename = name;
    }

    
}

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值