【问题标题】:Easier storage into a JDBC driver更容易存储到 JDBC 驱动程序中
【发布时间】:2010-09-15 21:59:48
【问题描述】:

我打算尝试使用 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,以后可能会改变。计数似乎很老派。

理想情况下,我只想通过我的课程并注释我想要存储的字段(主要是像整数这样的原语),但如果它们是对象,则获取它们注释的字段。要么是那个,要么只是位于 JDBC 上的东西,并且具有更快、更简洁的语法来构建表和添加对象。这不必是持久的。它仅适用于罕见的读取和写入。

【问题讨论】:

    标签: java sqlite jdbc


    【解决方案1】:

    嗯,听起来您正在寻找 JPA 或 Hibernate。这些框架完全按照您的描述进行操作,注释您的字段并将它们保存在数据库中。虽然涉及到学习曲线,但非常值得。

    Here is more info about JPA.

    and here for hibernate.

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

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

    【讨论】:

    • 在研究了JPA之后,我最终找到了orbroker,我认为它很好地满足了我的需求。谢谢。
    • 太好了,感谢您的提示。我要研究这个项目,这看起来很酷。如果你喜欢做自己的 SQL,你可能也对 mybatis 感兴趣,这是一个非常成熟的 OR 框架,你拥有 SQL。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-06-13
    • 2015-06-26
    • 1970-01-01
    • 2013-10-25
    • 2016-04-02
    • 2015-06-15
    • 2013-03-05
    相关资源
    最近更新 更多