什么是Perl的qq运算符的Java等价物?

前端之家收集整理的这篇文章主要介绍了什么是Perl的qq运算符的Java等价物?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个非常长的字符串,其中包含许多新行(这是一个非常长的sql语句).

当我用换行符分解它时,sql更容易阅读.但我不时需要
代码中复制sql语句以粘贴到sql developer中.

在Perl中,我总是喜欢qq运算符,您可以使用它来代替双引号:

你用它是这样的:

$myString = qq{       
                      SELECT * 
                      FROM table_a a
                      JOIN table_b b ON a.id = b.id ... etc
                };

JAVA中是否有等价物?我发现必须像这样分解字符串中的字符串很尴尬:

String myString = "    SELECT *  " + 
                  "    FROM table_a a " + 
                  "    JOIN table_b b ON a.id = b.id ... etc ";

并且很难从代码中复制sql语句.我最终不得不删除所有引号和

是否有Java等价物?或者是否有更好的技巧将可读的,可复制的sql语句放在Java代码中?

解决方法

Java中的多行字符串

Is there a Java equivalent?

在撰写本文时,我不这么认为.但是,有人建议在Java中包含多行字符串.

Or is there a better trick to putting
readable,copy-able sql statements in
Java code?

通过连接将参数放入SQL查询中并不是一个好主意.有一些类和API可以帮助您形成查询.

查询包装”

Wrappers可以增强可读性,例如在JDOQL(JDO)中,您可以使用setWhere(),setLimit(),setDistinct()等创建查询.

Query q = pm.newQuery (...);
q.setWhere(...);
q.setRange (...);
q.setOrdering (...);
q.setLimit(...);
q.newParameter(...); // declare a query parameter

q.execute(34.5); // execute the sql query with a parameter

对于JPA,您可以阅读JPQL.

如果您使用普通JDBC,您可能还会看一下PreparedStatement.

猜你在找的Perl相关文章