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

📄 cdbcache.java

📁 队列调度算法的一种
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
//Source file: E:/工作和学习/工作/硕士论文工作/程序/数据库缓存管理/20040304/src/DBCachePak/CDBCache.java

/* tangtang */

package DBCachePak;

import java.sql.*;
import java.util.*;
import java.io.File;
import java.io.IOException;

/**
 * @author
 * @version
 */
public class CDBCache implements IDBCache 
{
   private int ColumnCount = 0;
   private int K = 5;
   private int MAXROWCOUNT = 100;
   private int percent = 20;
   private String strDbDriver;
   private String strDBUrl;
   private Connection conn;
   private ResultSet rs;
   
   /**
    * @version
    * @param DBDriver
    * @param DBUrl
    * @return void
    * @exception
    * @author
    * @roseuid 40696A32023D
    */
   public void DBInitial(String DBDriver, String DBUrl) 
   {
  try{
  strDbDriver=DBDriver;
  strDBUrl=DBUrl;
  Class.forName(strDbDriver);
  }
  catch(Exception e){
  System.out.println("MySql Driver error"+ e.getMessage());
}
   }
   
   /**
    * @version
    * @return void
    * @exception
    * @author
    * @roseuid 40696A330308
    */
   public void DBOpen() 
   {
  try{
    conn = DriverManager.getConnection(strDBUrl);
    System.out.println("database open");
  }
  catch(Exception e){
     System.out.println("MySql Driver error"+ e.getMessage());
  }
   }
   
   /**
    * @version
    * @return void
    * @exception
    * @author
    * @roseuid 40696A3303B4
    */
   public void DBClose() 
   {
  try{
     conn.close();
     System.out.println("database close");
  }
  catch(Exception e){
     System.out.println("MySql Driver error"+ e.getMessage());
  }
   }
   
   /**
    * @version
    * @param strSeach
    * @param ColumnName
    * @param ColumnValue
    * @param TableName
    * @return String
    * @exception
    * @author
    * @roseuid 40696A340059
    */
   public String DBSearch(String strSeach, String ColumnName, String ColumnValue, String TableName) 
   {
  String strSql,strTemp = null;
  try
  {
    Statement stmt = conn.createStatement();
    strSql = "select "+strSeach+" from " +TableName+" where "+ColumnName+"="+"'"
           +ColumnValue+"';";
    rs = stmt.executeQuery(strSql);
    while (rs.next())
    {
     // strTemp = rs.getString(strSeach);
      //System.out.println(strTemp);
      Timestamp times=rs.getTimestamp("time");
      strTemp=times.toString();
    }
    rs.close();
    stmt.close();
    return strTemp;
  }
  catch(SQLException e)
  {
    System.out.println("error message:" + e.getMessage());
    return strTemp;
  }
   }
   
   /**
    * @version
    * @param ColumnName
    * @param ColumnValue
    * @param TableName
    * @return String
    * @exception
    * @author
    * @roseuid 40696A35001A
    */
   public String DBDelete(String ColumnName, String ColumnValue, String TableName) 
   {
  String strSql=null;
  try
  {
    Statement stmt = conn.createStatement();
    strSql = "DELETE FROM "+ TableName+" WHERE "+ColumnName+" ='"+
             ColumnValue+"';";
    stmt.executeUpdate(strSql);
    stmt.close();
  }
catch(SQLException e){
System.out.println("error message:" + e.getMessage());
}
  return  strSql;
   }
   
   /**
    * @version
    * @param ColumnName
    * @param ColumnValue
    * @param TableName
    * @return String
    * @exception
    * @author
    * @roseuid 40696A35029B
    */
   public String DBUpdate(String ColumnName, String ColumnValue, String NewValue, String TableName) 
   {
    String temp=null;
     try
     {
       Statement stmt = conn.createStatement();
       String strSql = "Update "+ TableName+"set "+ColumnName+"="+"\""+NewValue+"\""+"where "+
                       ColumnName+"="+"\""+ColumnValue+"\"" ;
      stmt.executeUpdate(strSql);
      stmt.close();

     }
     catch(SQLException e)
     {
      System.out.println("error message:" + e.getMessage());
     }
    return  temp;
   }
   
   /**
    * @version
    * @param strRecord[]
    * @param strTableName
    * @return String
    * @exception
    * @author
    * @roseuid 40696A360153
    */
   public String DBInsert(String strRecord[], String strTableName, int CacheFileSize, int CacheSaveCost) 
   {
  String strSql = null;
  try
  {
    //String RecordInput[]= new String[41];
    //for (int i=0;i<41;i++)
    //{
    //  RecordInput[i]=strRecord[i];
    //}
    String [] RecordInput=strRecord;
    Statement stmt = conn.createStatement();
    strSql = "Insert Into "+strTableName+"(SourceFileName,CacheFileName,BrowserName,CcppAccept,"+
             "ColorCapable,ImageCapable,ScreenSize,CacheFileSize,CacheSavedCost) Values ("+"\""+RecordInput[0]
             +"\""+","+"\""+RecordInput[1]+"\""+","+"\""+RecordInput[3]+"\""+","+"\""+RecordInput[5]+"\""+","+
             "\""+RecordInput[9]+"\""+","+"\""+RecordInput[13]+"\""+","+"\""+
             RecordInput[23]+"\""+","+Integer.toString(CacheFileSize)+","+Integer.toString(CacheSaveCost)+");";
    stmt.executeUpdate(strSql);
    stmt.close();
  }
catch(SQLException e){
System.out.println("error message:" + e.getMessage());
}
return strSql;
   }
   
   /**
    * @version
    * @param strTableName
    * @return String
    * @exception
    * @author
    * @roseuid 40696A360356
    */
   public String DBTableCreate(String strTableName) 
   {
  String temp,strSql = null;
  try
  {
    Statement stmt = conn.createStatement();
    strSql = "CREATE TABLE "+strTableName+" (SourceFileName varchar(50) default '',"+
    "CacheFileName varchar(50) NOT NULL default '',BitsPerPixel varchar(50)  default '',"+
    "BrowserName varchar(50)  default '',BrowserVersion varchar(50)  default '',"+
    "CcppAccept varchar(50)  default '',CcppAccept_Charset varchar(50)  default '',"+
    "CcppAccept_Encoding varchar(50)  default '',CcppAccept_Language varchar(50)  default '',"+
    "ColorCapable varchar(50)  default '',CPU varchar(50)  default '',FramesCapable varchar(50)  default '',"+
    "HtmlVersion varchar(50)  default '',ImageCapable varchar(50)  default '',"+
    "InputCharSet varchar(50)  default '',JavaAppletEnabled varchar(50)  default '',"+
    "JavaScriptEnabled varchar(50)  default '',JavaScriptVersion varchar(50)  default '',"+
    "Keyboard varchar(50)  default '',Model varchar(50)  default '',OSName varchar(50)  default '',"+
    "OSVendor varchar(50)  default '',OutputCharSet varchar(50)  default '',"+
    "ScreenSize varchar(50)  default '',SoundOutputCapable varchar(50)  default '',"+
    "TablesCapable varchar(50)  default '',TextInputCapable varchar(50)  default '',"+
    "Vendor varchar(50)  default '',VideoInputEncoder varchar(50)  default '',"+
    "XhtmlModules varchar(50)  default '',XhtmlVersion varchar(50)  default '',"+
    "CacheFileSize int default 0, LastUsedTime1 timestamp default null, LastUsedTime2 timestamp default null,"+
    "LastUsedTime3 timestamp default null, LastUsedTime4 timestamp default null, LastUsedTime5 timestamp default null,"+
    "LastUsedTimeLong bigint default 0,CacheSavedCost int default 0,"+
    "P float default 0,CacheUsedCount int default 0,PRIMARY KEY  (CacheFileName)) TYPE=MyISAM;";
    stmt.executeUpdate(strSql);
    stmt.close();
  }
catch(SQLException e)
  {
    System.out.println("error message:" + e.getMessage());
  }
  return strSql;
   }
   
   /**
    * @version
    * @param ColumnName
    * @param ColumnValue
    * @param TableName
    * @return int
    * @exception
    * @author
    * @roseuid 40696A3700D6
    */
   public int GetQueryCount(String ColumnName, String ColumnValue, String TableName) 
   {
  String strSql;
  try
  {
    Statement stmt = conn.createStatement();
    String temp3=null;
    //String [][] ResultArray2=new String[4][31];
    strSql = "select * from " +TableName+" where "+ColumnName+"="+"'"+ColumnValue+"';";
    rs = stmt.executeQuery(strSql);
    //rs.first();
    while (rs.next())
    {
      ColumnCount++;
//      ResultArray2[ColumnCount-1][1] = rs.getString("CacheFileName");
//      ResultArray2[ColumnCount-1][3] = rs.getString("BrowserName");
 //     ResultArray2[ColumnCount-1][5] = rs.getString("CcppAccept");
 //     ResultArray2[ColumnCount-1][9] = rs.getString("ColorCapable");
  //    ResultArray2[ColumnCount-1][13] = rs.getString("ImageCapable");
   //   ResultArray2[ColumnCount-1][23] = rs.getString("ScreenSize");
   //   temp3=ResultArray2[ColumnCount-1][23];
    }
   // stmt.close();
/*    for (int k=0;k<ColumnCount;k++)
  {
     for (int m=0;m<31;m++)
     {
    System.out.print(ResultArray2[k][m]);
     }
  System.out.println();
  }*/
  }
    catch(SQLException e)
  {
    System.out.println("error message:" + e.getMessage());
    return ColumnCount;
  }
  return ColumnCount;
   }
   
   /**
    * @version
    * @return String[][]
    * @exception
    * @author
    * @roseuid 40696A3703A5
    */
   public String[][] GetDBQueryResult() 
   {
     if(ColumnCount>0)
     {
  String [][] ResultArray3=new String[ColumnCount][31];

  try
  {
    int i=1;
    while (rs.previous())
    {
      ResultArray3[ColumnCount-i][1] = rs.getString("CacheFileName");
      ResultArray3[ColumnCount-i][3] = rs.getString("BrowserName");
      ResultArray3[ColumnCount-i][5] = rs.getString("CcppAccept");
      ResultArray3[ColumnCount-i][9] = rs.getString("ColorCapable");
      ResultArray3[ColumnCount-i][13] = rs.getString("ImageCapable");
      ResultArray3[ColumnCount-i][23] = rs.getString("ScreenSize");
      i++;
    }
 /* for (int k=0;k<ColumnCount;k++)
  {

⌨️ 快捷键说明

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