在没有 SQL 或任何数据库服务器的情况下,在 Java 应用程序中保存数据的最佳方法是什么?
What the best way to persist data in Java application without SQL or any Database Sever?
我想创建一个需要存储数据的桌面应用程序。此应用程序可用于各种 PC。所以,我不想安装 sql 服务器和更多应用程序来实现此目的。我只想创建一个包含所有存储数据的文件,使备份更容易并且安装速度更快。
我想使用 JSON 或 XML 文件,或 Excel (.xmls),但这似乎很难执行搜索或其他操作。
所以,在实施之前,我想征求意见。
您可以使用 com.typesafe.config 或 SQLite。它取决于您必须存储的数据。
另一种解决方案是使用 GSON 或 xstream
将数据 class 序列化为 XML\JSON
Gson 示例:
public static class Entity {
volatile int id;
String name;
transient long random;
public Entity(int id, String name) {
this.id = id;
this.name = name;
}
}
//Create new entity
Entity entity = new Entity(100, "name");
entity.random = 1234;
//Serialize to JSON. Then you can save string to file
String json = gson.toJson(entity); // {"id":100,"name":"name"}
// On application start you can deserialize your entity from file
Entity read = gson.fromJson(json, Entity.class);
我想创建一个需要存储数据的桌面应用程序。此应用程序可用于各种 PC。所以,我不想安装 sql 服务器和更多应用程序来实现此目的。我只想创建一个包含所有存储数据的文件,使备份更容易并且安装速度更快。 我想使用 JSON 或 XML 文件,或 Excel (.xmls),但这似乎很难执行搜索或其他操作。 所以,在实施之前,我想征求意见。
您可以使用 com.typesafe.config 或 SQLite。它取决于您必须存储的数据。 另一种解决方案是使用 GSON 或 xstream
将数据 class 序列化为 XML\JSONGson 示例:
public static class Entity {
volatile int id;
String name;
transient long random;
public Entity(int id, String name) {
this.id = id;
this.name = name;
}
}
//Create new entity
Entity entity = new Entity(100, "name");
entity.random = 1234;
//Serialize to JSON. Then you can save string to file
String json = gson.toJson(entity); // {"id":100,"name":"name"}
// On application start you can deserialize your entity from file
Entity read = gson.fromJson(json, Entity.class);