我有一个非常长的字符串,其中包含许多新行(这是一个非常长的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 ";
解决方法
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.