日期:2014-05-20  浏览次数:20694 次

数据库增删改查底层是如何实现的?用文本来模拟库表实现?看看大家的意见
1数据库增删改查底层是如何实现的?
个人认为主要是对数据表的操作,但是具体对这些表是怎么操作的?


2用文本文件来模拟 数据的存储 实现增删改查。
思路  一行存储 一条信息,各个属性之间用 % 隔开   ,利用IO读取一行  就是一条数据信息
     利用字符串的切割方法  获得各个 字段 ,然后组装成 对象。遍历所有的行 就去到 “数据库”中的
     所有对象。所有对象放进List表存储。


利用IO,在文件尾处添加新数据。


利用IO,获得所有对象。得到List表。  也可以通过ID获得单个的对象。


依据ID ,从List列表中remove掉这个对象,清空文件,然后将新的 list 信息写入文件中去。


依据ID ,从List列表中取到这个对象,对其修改 ,清空文件,然后将新的 list 信息写入文件中去。

------------------------
现在考虑有没有新的更优秀的方法来实现  
修改 和  删除 。
只针对文件中的 一行 来修改。而不清空文件。目前已知RandomAccessFile可以实现。

------------------------------------
各抒己见  谢谢各位!!  



------解决方案--------------------
查询如果你能保证第一行Id=1,第二行id=2 就可以用LineNumberReader来查找.

LineNumberReader reader = new LineNumberReader(new BufferedReader(new FileReader(file)));
String str = null;
while ((str = reader.readLine()) != null) {
if (reader.getLineNumber() == 4) {
     System.out.println("第4行字符串:"+str);
   }
}

------解决方案--------------------
修改和删除操作,建议使用RandomAccessFile实现。
------解决方案--------------------
数据库的实现远没有你想的那么简单
数据库的存在就是最大限度上减少程序对IO的操作
比如Oracle的系统就是构筑在非文件系统中。

如果说用IO来模拟数据库操作的话,
建议使用Excel来实现,毕竟JAVA对操作Excel的插件有不少。