【问题标题】:Where do you put your SQL Queries? [closed]您将 SQL 查询放在哪里? [关闭]
【发布时间】:2009-04-17 09:10:37
【问题描述】:

我们混合使用 EJB 2.1 和 JDBC 来访问我们的数据库。

我刚让一位同事提到将他的 SQL 查询放入 .properties 文件的想法。

您如何以及在哪里放置 SQL 查询?

编辑:

你是否将它与代码内联,放入类实例化中?

【问题讨论】:

    标签: java sql jdbc


    【解决方案1】:

    DAOs 中,因为我认为它们是我的应用程序的一部分,而不是应用程序的可配置(可由系统管理员更改)元素。

    【讨论】:

      【解决方案2】:

      我们将 SQL 查询存储为 DAO 中的字符串文字。 DAO 对应用程序的其余部分隐藏了可能丑陋的 SQL 语法。当您深入研究 DAO 代码时,将 SQL 查询放在将要使用它们的上下文中有助于使代码更易于理解。

      【讨论】:

        【解决方案3】:

        在我现在工作的地方,我们使用属性文件来存储我们的 SQL 查询。我非常喜欢它,因为我一直认为它在代码中看起来相当混乱。我真的不认为它可以由系统管理员配置,因为它们都将与 jar 捆绑在一起,因此是不可见的。

        【讨论】:

        • 我不同意这种形式的主要原因是因为你最终把所有东西都分开了。如果出于任何原因我需要阅读代码,我最终不得不跳转到巨大的属性文件来找到它。
        • 但另一方面,它使代码更具可读性,同时通过将它们放在单独的文件中,SQL 更具可读性。可能是个人喜好问题:)
        • 该属性也可以作为文本文件的桥梁。如果 sql 查询存储在文本文件中,则该属性可以包含读取它的代码并将其作为字符串返回以进行更复杂的查询。
        【解决方案4】:

        我使用 Ibatis,所以所有查询都驻留在 Ibatis XML 文件中。如果不是 Ibatis 则在 DAO java 代码中。

        【讨论】:

          【解决方案5】:

          我通常将查询作为静态字符串添加到使用它们的 DAO 实现中。

          【讨论】: