【发布时间】:2014-07-10 08:35:51
【问题描述】:
我有一个很长的 SQL 字符串,其中有很多双引号,在使用之前我必须对其进行转义。有没有一种简单的方法可以做到这一点,比如从属性文件中读取字符串?
FOR E.G.:
SELECT
(SELECT EXTRACTVALUE(XMLTYPE(COL1), '//p:testRq/policy/testId', 'xmlns:me="wsdl.http://www.example.com/Test", xmlns:ns0="wsdl.http://www.example.com/Test", xmlns:p="http://www.example.com/Test", xmlns:s="http://www.w3.org/2003/05/soap-envelope", xmlns:xsd="http://www.w3.org/2001/XMLSchema", xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance", xmlns="http://www.example.com/Test"')
FROM TESTTABLE
WHERE TESTID =
(SELECT MIN(TESTID)
FROM TABLE2
WHERE COL1 = COL2
)
) "RESULT"
好的,很容易解决这个问题。我刚刚在 orm xml 文件中创建了一个 named-native-query 并从那里使用了 sql 字符串。
【问题讨论】:
-
举个例子让大家容易理解。
-
您可以将文件中的字符串提供给您的 java 程序,然后读取文件并获取整个字符串。
-
你用的是什么框架?普通的 JDBC? JPA?
-
使用带有 JDO 或 JPA 的 db 框架。使用带有字符串处理的原始 sql 可能会出现 SQL 注入等严重问题
-
我会将它写在一个单独的文件中,并在您需要时加载一次。