【发布时间】:2021-02-01 00:28:42
【问题描述】:
如何使长查询更具可读性?
比如我有这个:
String query = "SELECT CASE WHEN EXISTS (SELECT * FROM users WHERE username = 'username' AND user_password = crypt('password', user_password)) THEN 'match' ELSE 'differ' END";
而且完全看不懂,有什么办法美化一下吗?
【问题讨论】:
-
有一个库jooq.org。它有助于用类似 Java 的语法编写查询。如果你想要这样的东西,请检查链接。
-
“美”是主观的。
-
如果您不使用 Java15(就像您在下面接受的答案),您可以在运行时从存储在应用程序资源文件夹中的 SQL 文件中加载它们。您甚至可以使用反射和注释将它们注入字符串变量中。它与您的代码并不完全“内联”,但 SQL 文件中的 SQL 看起来很棒:)