Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 您将SQL查询放在哪里?_Java_Sql_Jdbc - Fatal编程技术网

Java 您将SQL查询放在哪里?

Java 您将SQL查询放在哪里?,java,sql,jdbc,Java,Sql,Jdbc,我们混合使用EJB2.1和JDBC来访问我们的数据库 我刚让一位同事提到了将他的SQL查询放入.properties文件的想法 如何以及在何处放置SQL查询 编辑: 您是否将代码与代码内联,放入类实例化?,因为我将它们视为应用程序的一部分,而不是应用程序的可配置(可更改为SySADmin)元素。 < p>我使用iBATS,所以所有查询都驻留在iBATIs XML文件中。如果不是Ibatis,则使用DAO java代码。我通常在使用查询的DAO实现中将查询作为静态字符串添加。在我现在工作的地方,我

我们混合使用EJB2.1和JDBC来访问我们的数据库

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

如何以及在何处放置SQL查询

编辑:


<>您是否将代码与代码内联,放入类实例化?

,因为我将它们视为应用程序的一部分,而不是应用程序的可配置(可更改为SySADmin)元素。

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

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

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

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

我不同意这种形式的主要原因是因为您最终将所有内容分离。如果出于任何原因我需要阅读代码,我最终不得不跳转到巨大的属性文件中去查找它。但另一方面,通过将代码放在单独的文件中,它使代码更具可读性,同时使SQL更具可读性。可能是个人喜好的问题:)该属性还可以充当文本文件的桥梁。如果sql查询存储在文本文件中,则属性可能包含读取该查询并将其作为字符串返回的代码,以用于更复杂的查询。