【发布时间】:2009-12-17 03:21:57
【问题描述】:
这是一个 SQL-Java 编码风格问题...
这里的其他人如何干净地处理在 Java 中创建复杂的自定义查询?
我说的是准备一个要执行的 SQL 语句的字符串这个看似简单的任务。
我了解 HQL,也了解存储过程,但老实说,我并不真正喜欢这些解决方案。也许我可以以不同的方式说服我。存储过程的部署/维护很烦人,在我的情况下,解析性能并不是一个大问题——灵活性优先。 HQL 似乎是一个很大的飞跃,对我的复杂查询有一些限制。
明确地说,我说的是这样的超级丑陋的代码:
return
"(" + topTwenty + ")" +
"UNION " +
"(" + twentyBeforeMe + ")" +
"UNION " +
"(" + meDummyQuery + ")" +
"UNION " +
"(" + twentyAfterMe + ")";
例如变量 topTwenty 也是类似创建的子查询。
我从没想过我会这么说,但它在 PHP 中更简洁,它在字符串中嵌入了多行字符串和 $variable。
人们曾经使用过简单的模板库吗?你如何在程序中整齐地保留字符串?或者你把它们放在一个单独的文件中(不知何故我也觉得很烦)。
【问题讨论】:
-
我打算建议准备好的陈述,但已经有 2 个答案相同:/
-
为什么这个被标记的社区维基?
-
阿萨夫,哎呀,我错了。我没有看到撤消它的选项。
标签: java sql mysql coding-style