Google App Engine 的 JDO:转义引号
Posted
技术标签:
【中文标题】Google App Engine 的 JDO:转义引号【英文标题】:JDO for Google App Engine: escaping quotes 【发布时间】:2010-12-02 14:11:27 【问题描述】:如何在 JDO (Google App Engine) 中转义查询参数?
例如,如果变量名可能包含不安全字符作为单引号('),我如何使下一个sn-p安全
PersistenceManager pm = ...;
String query = "select from Person where name='"+name+"'";
List<Shortened> shortened = (List<Shortened>) pm.newQuery(query).execute();
【问题讨论】:
我这里有更多代码和参考资料***.com/questions/9552064/… 【参考方案1】:改为使用查询参数,它比在查询本身中包含值更安全。以下是 GAE 文档中的示例:
Query query = pm.newQuery("select from Employee " +
"where lastName == lastNameParam " +
"order by hireDate desc " +
"parameters String lastNameParam");
List<Employee> results = (List<Employee>) query.execute("Smith");
【讨论】:
+1 亿。如果您尝试在查询中使用字符串替换,我希望有某种方法可以让计算机爆炸。 遗憾的是,GAE 文档示例使用 String query = "..." 样式,至少我找到的页面是这样。无法找到从哪里导入 Query,但我还没有看太多;我会得到它的! :) 顺便说一句,它是:import javax.jdo.Query;对于下一个寻找的人。呃。 ;)以上是关于Google App Engine 的 JDO:转义引号的主要内容,如果未能解决你的问题,请参考以下文章
在哪里使用 JDO/Google App Engine 设置 TransactionOptions?
使用 Google App Engine 和 JDO 进行全文搜索?
Google App Engine、JDO 和 equals/hashCode
在 Google App Engine 上将 JDO 与 HRD 结合使用