有没有办法使用Eclipse在Java字符串文本中编写(复制粘贴)格式良好的SQL查询?

2022-09-01 20:24:45

当我希望在Java中使用SQL查询时,我通常将它们保存在最终的字符串变量中。现在,当字符串太大时,它会超出页面宽度,我们要么必须手动中断它(在eclipse中,转到字符串中的特定位置,然后放置enter,并为每个生成的较小部分执行此操作),或者我们可以将Eclipse中的格式化程序设置为每行仅允许(比如)100个字符。但是字符串不会以逻辑方式断开。

我可以在SQL Developer中很好地格式化查询(例如),但是如果我将其粘贴到Java中,我将不得不手动设置所有结尾引号和符号以使其成为正确的Java字符串。我只是想知道一种方法,将格式正确的SQL查询直接复制粘贴到Java文件中。我正在使用Eclipse。+

也许当查询的格式设置为:

SELECT
  *
 FROM
  something
 WHERE
  id=4;

然后,当它粘贴在java字符串中时,我们可以像这样使用它:

"SELECT" +
  " *" +
 " FROM" +
  " something" + 
 " WHERE";
  id=4;

答案 1

如果您不介意生成的SQL输出中的额外空格,这里有一个创造性的解决方案:

第 1 步:粘贴

enter image description here

将格式化的 SQL 语句逐字粘贴到 Java 文件中

第 2 步:写开场白

enter image description here

请注意突出显示的按钮,左起第六个按钮。这就是令人敬畏的“块选择模式”(Windows上的Alt-Shift-A)。它允许您在同一位置的每条选定行上写开局报价

步骤 3:编写结束引号和串联

enter image description here

对结束引号和串联符号 (+)

步骤 4:修复分号

enter image description here

这里不需要评论。


答案 2

在 Eclipse 中,在“窗口>首选项”中,在 Java > 编辑器>键入“下选中”粘贴到字符串文本时转义文本“复选框。

它将格式化纯文本:

line1
line2
line3

自:

private final String TEXT = "line1\r\n" + 
            "line2\r\n" + 
            "line3";

这是Eclipse Helios的输出。类似的问题:用引号括起来


推荐