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

Dau*_*aud 24 java eclipse formatting

当我希望在Java中使用SQL查询时,我通常将它们保存在最终的String变量中.现在,当字符串太大时,它会超出页面宽度,我们要么必须手动打破它(在eclipse中,转到字符串中的特定位置,然后输入,并为每个产生的更小部分),或者我们可以在Eclipse中设置格式化程序,每行只允许(比方说)100个字符.但字符串不会以合理的方式被破坏.

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

也许当查询格式如下:

SELECT
  *
 FROM
  something
 WHERE
  id=4;
Run Code Online (Sandbox Code Playgroud)

然后当它粘贴在一个java字符串里面时,我们就可以这样:

"SELECT" +
  " *" +
 " FROM" +
  " something" + 
 " WHERE";
  id=4;
Run Code Online (Sandbox Code Playgroud)

Luk*_*der 18

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

第1步:粘贴

在此输入图像描述

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

第2步:写开场报价

在此输入图像描述

注意突出显示的按钮,左起第六个.这是令人敬畏的"块选择模式"(Windows上的Alt-Shift-A).它允许您在同一位置的每个选定行上写入开头引号

第3步:编写结束引号和连接

在此输入图像描述

对结束引号和连接符号(+)应用相同的技术

第4步:修复分号

在此输入图像描述

这里不需要评论.


yia*_*nis 14

在Eclipse中,在Java> Editor> Typing下的Window> Preferences中,选中"粘贴到字符串文字时转义文本"复选框.

它将格式化纯文本:

line1
line2
line3
Run Code Online (Sandbox Code Playgroud)

至:

private final String TEXT = "line1\r\n" + 
            "line2\r\n" + 
            "line3";
Run Code Online (Sandbox Code Playgroud)

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


Jam*_*hin 6

当您进入时SQLDeveloper,选择查询并使用Ctrl + F7它来格式化它.再次选择它并用于Ctrl + Shift + F7提前格式化,选择Clipboard输出目的地,输出类型为所需类型并单击Apply.现在,将其粘贴到Eclipse编辑器中并查看差异.

我正在使用SQLDeveloper的3.1.07版.