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