更容易存储到JDBC驱动程序中

时间:2010-09-15 21:59:49

标签: java sqlite jdbc

我打算尝试使用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();

当我想要从课堂上存储十个字段时,(?,?)有点hacky,这可能会在以后发生变化。计数似乎很老了。

理想情况下,我只想通过我的课程并注释我想要存储哪些字段(主要是像int这样的原语),但如果它们是对象,则获取它们注释的字段。要么只是位于JDBC上,要么具有更快,更清晰的语法来构建表和添加对象。这不一定是持久的。它仅适用于罕见的读写操作。

1 个答案:

答案 0 :(得分:0)

嗯,听起来你正在寻找JPA或Hibernate。这些框架完全按照您的描述进行操作,为您的字段添加注释并将其保存在数据库中。虽然有一个学习曲线,但它是值得的。

Here is more info about JPA

and here for hibernate

这些框架将允许映射到现有数据库或为您创建新的开发表。

请注意,这些不是轻量级框架。