我想定义一个具有我的表名的String对象,并且在每个表中我都可以访问我的列行名。
让我用一个例子解释一下:
我有两张桌子; “任务”和“部分”。
在tasks
我有2列; “id”和“taskName”。
在parts
表中我也有2列; “id”和“name”。
现在我想知道如何定义一个对象,以便以这种方式访问任何列的名称:
TABLE.tasks.parts
我想要这样的东西(但这个错了!)
public final class TABLES {
public final static String TASKS = "tasks";
public final static String CHUNKS = "chunks";
public final static class TASKS{
public final String COLUMN_ID = "id";
public final String COLUMN_NAME = "taskName";
};
public final static class CHUNKS{
public static final String COLUMN_ID = "id";
public static final String COLUMN_NAME = "name";
};
}
答案 0 :(得分:0)
这不是正确的方法。 如果需要数据库,请使用SQLite等数据库。 如果你想要对象,你可以这样做:
public class Tables{
public final static Task task;
public final static Chunk chunk;
// or ArrayList<Tasks> tasks if there is more than one task/chunk
}
然后另一个文件Tasks.java
public class Task{
public final String id;
public final String name;
}
和Chunk.java:
public class Chunk{
public final String id;
public final String name;
}
答案 1 :(得分:0)
你应该是用户界面。无论何时你想在你的应用程序中使用那些参赛者,只需实现只有常量的界面... ... ...
public final class TABLES implements TASKS, CHUNKS{
public static void main(String[] args) {
System.out.println(TASKS.COLUMN_ID);
System.out.println(CHUNKS.COLUMN_ID);
}
}
interface TASKS{
public final String COLUMN_ID = "id";
public final String COLUMN_NAME = "taskName";
}
interface CHUNKS{
public static String COLUMN_ID = "id";
public static String COLUMN_NAME = "name";
}
答案 2 :(得分:0)
示例:
public class TripleField {
public static void main(String[] args) {
System.out.println(TABLE.tasks.id);
System.out.println(TABLE.tasks.taskName);
}
}
final class TABLE {
final static TASKS tasks = new TASKS();
}
class TASKS {
final String id = "myID";
final String taskName ="myTaskName";
}
答案 3 :(得分:0)
JPA,Java Persistency API,可以做到这一点以及更多。我对NetBeans IDE中eclipseLink(参考JPA实现)的支持印象深刻。
它可以将数据库(部分)转换为数据库模型类,就像提到的那样。具体的数据访问对象类。此外,还有一个标准API可以通过这种方式构建整个SQL SELECT。
请注意,生成模型类比基本JPA更进一步。您必须进行一些互联网搜索,或从数据库中尝试NetBeans / New / Persistence / Entity类。