그래서 파일 기반 데이터베이스와 인터페이스하기위한 프로그램을 만들고 있습니다. 대부분 나는 객체를 만들고 데이터베이스에 정보를 저장하여 나중에 데이터를 가져올 수 있도록 작업하는 방법을 알아 내려고 노력하고 있습니다.데이터베이스에 객체 저장하기 Java
IE Object Taylor
Name = Taylor
Age = 20
School = Whatever
그래서 다시 질문을 받으면 해당 정보를 불러올 수 있습니다.
다음은 저장하려는 개체의 예입니다. 나는이 부분을 잘못하고 있을지도 모른다. package com.catalyse.db;
public class Taylor implements java.io.Serializable
{
public String name = "Taylor M May";
public int age = 20;
public String school = "UC Boulder";
}
내가 사용하고있어 DB 구조
는 RandomAccessFile의 기반으로하고 난 그냥 그것을 구현하는 방법을 알아 내려고 노력하고있어, 그것을하지 않았다. 여기package com.catalyse.db;
import java.util.*;
import java.util.Scanner;
/**
* Simple test class for the RecordsFile example. To run the test,
* set you CLASSPATH and then type "java hamner.dbtest.TestRecords"
*/
public class Run {
static void log(String s) {
System.out.println(s);
}
private static String name()
{
Scanner name = new Scanner(System.in);
String name1 = name.next();
return name1;
}
public static void main (String[] args) throws Exception {
System.out.println(new Date());
Scanner SC = new Scanner(System.in);
log("What would you like to name the database?");
String filename = SC.next();
log("creating records file...");
RecordsFile recordsFile = new RecordsFile(filename+".records", 64);
log("adding a record...");
RecordWriter rw = new RecordWriter("foo.username");
rw.writeObject(new Taylor());
recordsFile.insertRecord(rw);
log("reading record...");
RecordReader rr = recordsFile.readRecord("foo.username");
Taylor name = (Taylor)rr.readObject();
System.out.println("\tlast access was at: " + name.toString());
log("test completed.");
}
}
그리고
는Wed Nov 20 11:56:04 MST 2013
What would you like to name the database?
save3
creating records file...
adding a record...
reading record...
last access was at: [email protected]
test completed.
내 문제는 내가 그 클래스에 대한 정보를 반환 DB의 이름과 위치뿐만 아니라 할 것입니다, 나는 다시 그것에서 무엇을 얻을 수 있습니다.
나는이 접근법을 추천하지 않을 것이다. 'toString'은 재정의 할 표준 함수입니다. – Woot4Moo