91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 329KB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發(fā)布日期: 2021-06-08
  • 語言: Java
  • 標簽: java??DBMS??

資源簡介

Java實現(xiàn)數(shù)據(jù)庫管理系統(tǒng),可以通過控制臺進行sql語句實現(xiàn),用文件存儲,用到了B+樹和hash,用到了java的序列化和反序列化,對象流。

資源截圖

代碼片段和文件信息

package?com.zhangyujie.db;

import?java.io.BufferedReader;
import?java.io.File;
import?java.io.FileInputStream;
import?java.io.FileOutputStream;
import?java.io.InputStreamReader;
import?java.io.OutputStreamWriter;
import?java.io.PrintWriter;
import?java.util.List;

public?class?Alter?implements?Operate?{
private?Table?table?=?null;
private?String?tableName;//?待操作的表名
private?boolean?isAdd;//?true表示add操作,false表示drop操作
private?List?fields?=?null;//?待操作的屬性列表

private?String?account?=?null;

public?Alter(String?account)?{
this.account?=?account;
}

@Override
public?void?start()?throws?Exception?{
ParseAccount.parseAlter(this);//?解析alter語句(操作所涉及的表名和操作類型)
this.table?=?OperUtil.loadTable(this.tableName);//?加載操作所涉及的關(guān)系表
ParseAccount.parseAlterAddAndDrop(this);//?解析alter-add&alter-drop操作
if?(this.isAdd)?{
this.alterAdd();//?執(zhí)行alter-add操作
System.out.println(“增加屬性成功!“);
}?else?{
this.alterDrop();//?執(zhí)行alter-drop操作
System.out.println(“刪除屬性成功!“);
}
OperUtil.perpetuateTable(this.table?this.table.getConfigFile());//?將修改后的表結(jié)構(gòu)持久化
}

/**
?*?alter-add!!!!
?*?
?*?@param?table
?*?@param?alter
?*?@throws?Exception
?*/
private?void?alterAdd()?throws?Exception?{
Table?table?=?this.getTable();

if?(Check.isRepeated(table.getAttributes()?this.getFields()))?{
throw?new?RuntimeException(“添加屬性與已有屬性名重復(fù)!“);
}
BufferedReader?br?=?null;
PrintWriter?pw?=?null;
String?parentPath?=?table.getFile().getParent();
File?temp?=?new?File(parentPath?+?File.separator?+?“temp“);
if?(temp.exists())?{
temp.delete();
}
table.getFile().renameTo(temp);
table.setFile(new?File(parentPath?+?File.separator?+?table.getTableName()));

try?{
br?=?new?BufferedReader(new?InputStreamReader(new?FileInputStream(temp)?“GBK“));
pw?=?new?PrintWriter(new?OutputStreamWriter(new?FileOutputStream(table.getFile())?“GBK“));
String?line?=?null;
String?add?=?““;
for?(int?i?=?0;?i? add?+=?“null“;
}
while?((line?=?br.readLine())?!=?null)?{
line?+=?add;
pw.println(line);
}
}?catch?(Exception?e)?{
e.printStackTrace();
return;
}?finally?{
try?{
if?(br?!=?null)?{
br.close();
temp.delete();
}
if?(pw?!=?null)?{
pw.close();
}
}?catch?(Exception?e)?{
e.printStackTrace();
}

}
table.getAttributes().addAll(this.getFields());
}

/**
?*?alter-drop!!!
?*?
?*?@param?table
?*?@param?alter
?*/
private?void?alterDrop()?{
Table?table?=?this.getTable();

BufferedReader?br?=?null;
PrintWriter?pw?=?null;
String?parentPath?=?table.getFile().getParent();
File?temp?=?new?File(parentPath?+?File.separator?+?“temp“);
if?(temp.exists())?{
temp.delete();
}
table.getFile().renameTo(temp);
table.setFile(new?File(parentPath?+?File.separator?+?table.getTableName()));
try?{
br?=?new?BufferedReader(new?I

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2017-10-20?19:16??Database2.5.Release\
?????目錄???????????0??2017-10-22?21:33??Database2.5.Release\database\
?????文件????????6148??2017-10-22?21:33??Database2.5.Release\database\.DS_Store
?????目錄???????????0??2017-10-23?10:25??__MACOSX\
?????目錄???????????0??2017-10-23?10:25??__MACOSX\Database2.5.Release\
?????目錄???????????0??2017-10-23?10:25??__MACOSX\Database2.5.Release\database\
?????文件?????????120??2017-10-22?21:33??__MACOSX\Database2.5.Release\database\._.DS_Store
?????文件?????????373??2017-04-30?12:10??Database2.5.Release\database\test1.config
?????文件?????????231??2017-04-30?12:10??__MACOSX\Database2.5.Release\database\._test1.config
?????目錄???????????0??2017-04-30?13:54??Database2.5.Release\database\test1\
?????文件?????????521??2017-04-30?02:48??Database2.5.Release\database\test1\unrepatedIndex.config
?????目錄???????????0??2017-10-23?10:25??__MACOSX\Database2.5.Release\database\test1\
?????文件?????????175??2017-04-30?02:48??__MACOSX\Database2.5.Release\database\test1\._unrepatedIndex.config
?????文件??????165640??2017-04-30?12:05??Database2.5.Release\database\test1\unrepatedIndex
?????文件?????????175??2017-04-30?12:05??__MACOSX\Database2.5.Release\database\test1\._unrepatedIndex
?????文件??????????70??2017-04-29?15:56??Database2.5.Release\database\test1\person
?????文件?????????175??2017-04-29?15:56??__MACOSX\Database2.5.Release\database\test1\._person
?????文件?????????194??2017-04-30?13:23??Database2.5.Release\database\test1\salary
?????文件?????????175??2017-04-30?13:23??__MACOSX\Database2.5.Release\database\test1\._salary
?????文件???????57341??2017-04-30?12:17??Database2.5.Release\database\test1\index1
?????文件?????????175??2017-04-30?12:17??__MACOSX\Database2.5.Release\database\test1\._index1
?????文件?????????529??2017-04-29?15:56??Database2.5.Release\database\test1\person.config
?????文件?????????175??2017-04-29?15:56??__MACOSX\Database2.5.Release\database\test1\._person.config
?????文件?????????539??2017-04-29?15:57??Database2.5.Release\database\test1\salary.config
?????文件?????????175??2017-04-29?15:57??__MACOSX\Database2.5.Release\database\test1\._salary.config
?????文件?????????571??2017-04-30?12:47??Database2.5.Release\database\test1\employee.config
?????文件?????????231??2017-04-30?12:47??__MACOSX\Database2.5.Release\database\test1\._employee.config
?????文件?????????497??2017-04-30?12:10??Database2.5.Release\database\test1\index1.config
?????文件?????????175??2017-04-30?12:10??__MACOSX\Database2.5.Release\database\test1\._index1.config
?????文件?????????207??2017-04-30?12:48??Database2.5.Release\database\test1\employee
?????文件?????????175??2017-04-30?12:48??__MACOSX\Database2.5.Release\database\test1\._employee
............此處省略217個文件信息

評論

共有 條評論