Я собирался попробовать использовать JDBC и драйвер sqlite для сохранения информации в файл. Кажется, он работает нормально, но мне было интересно, есть ли более автоматизированный способ его настройки. Может быть, почти как пара ключ-значение.
Во всяком случае, это то, что я делаю сейчас ...
Connection conn = DriverManager.getConnection("jdbc:sqlite:test.db");
Statement stat = conn.createStatement();
stat.executeUpdate("drop table if exists people;");
stat.executeUpdate("create table people (name text, age int, etc...);");
PreparedStatement prep = conn.prepareStatement(
"insert into people values (?, ?, etc... );");
for (int i = 0; i < persons.length; i++) {
prep.setString(1, persons[i].name)
prep.setString(2, persion[i].age)
....
prep.addBatch()
}
conn.setAutoCommit(false);
prep.executeBatch();
(?,?) Довольно хакерски, когда есть около десяти полей, которые я хочу сохранить в классе, которые могут измениться позже. Подсчет кажется очень старой школы.
В идеале, я бы просто хотел пройтись по своему классу и аннотировать, какие поля я хотел бы сохранить (в основном примитивы, такие как int), но если они являются объектами, получите поля, которые они аннотируют. Либо это, либо что-то, что просто находится на JDBC и имеет немного более быстрый и чистый синтаксис для построения таблицы и добавления объектов. Это не должно быть постоянным. Это только для редких чтений и записей.