【问题标题】:Java Framework for Database operations [closed]用于数据库操作的 Java 框架 [关闭]
【发布时间】:2011-08-18 05:22:37
【问题描述】:

在我的工作场所,我们使用 DAO 模式来处理任何类型的数据库操作。它向程序员隐藏了庞大的语句。程序员需要编写 sql 查询和逻辑来处理输出数据。 BaseDao 处理各种操作并以所需格式返回输出。

我发现这门课并不完美。我添加了代码来控制连接数并处理连接问题,例如连接速度慢、无连接、连接尝试次数等。

但我必须添加更多代码来支持 JDBC 的高级功能,例如提供/访问二进制数据、处理从 SP 返回的结果集等。

是否有任何 Java 框架或一组类可以涵盖许多数据库操作?

请提出建议。

【问题讨论】:

  • 我心目中的另一个框架是 JOOQ。但不幸的是,它不处理我在问题中提到的 SP 输出
  • 您认为 jOOQ 对存储过程的处理缺少什么?支持从 SP 返回的结果集?还是总体上缺少什么?
  • @Lukas,如果在 SP 中打开了多个游标...
  • 我明白了。目前不支持,但在 jOOQ 路线图sourceforge.net/apps/trac/jooq/ticket/166 上。您是否找到了与此类存储过程交互的另一种方式,例如使用 JPA/Hibernate?

标签: java database-design jakarta-ee dao


【解决方案1】:

我认为您正在寻找Java Persistence API。这是一个 Java EE 规范,Hibernate 是最流行的实现。

【讨论】:

  • 虽然我发现了很多库,如 jooq、spring DAO(@qwerty 建议),但我认为迁移到 hibernet 会更好。
  • 您知道 JPA/Hibernate 提供对从存储过程返回的结果集进行访问的示例吗?从用户的角度来看,这很容易实现吗?
【解决方案2】:

你可以试试Spring DAO。他们有一个很好的模板模式来处理结果集。

【讨论】:

    【解决方案3】:

    或者您可以从 JDBC 退后一步并使用 Hibernate。

    【讨论】:

    • 我不知道 Hibernet。我也可以将它与独立的 Java 应用程序一起使用吗?
    • 是的。它适用于 Web 应用程序或控制台/桌面应用程序。
    【解决方案4】:

    Spring Data JPA 比人们提出的其他建议更抽象。有了它和 Hibernate,您甚至不需要编写查询,除非它是您需要执行的复杂操作。

    【讨论】:

      猜你喜欢
      • 2012-10-08
      • 2011-01-27
      • 1970-01-01
      • 2013-08-24
      • 2013-03-10
      • 2014-11-19
      • 1970-01-01
      • 2010-10-23
      • 2013-11-04
      相关资源
      最近更新 更多