【发布时间】:2017-02-07 09:51:27
【问题描述】:
我有一个字符串,我想将其用作查询中的参数。我的代码如下:
List<EventPayload> mylist=eventpojo.getEventPayload();
for(EventPayload array : mylist)
{
System.out.println("Comment Text :"+array.getCommentText());
System.out.println("Comment Type :"+array.getCommentType());
System.out.println("Comment Id :"+array.getCommentId());
System.out.println("Email id :"+array.getComment_email());
String email1=array.getComment_email();
}
EntityManagerFactory entityManagerFactory = Persistence.createEntityManagerFactory("jcg-JPA");
EntityManager em = entityManagerFactory.createEntityManager();
String email=em.createQuery("SELECT user_id FROM UserInfo WHERE email_id = "+email1).toString();
我想在查询的循环外使用String email1。如何实现这个??
【问题讨论】:
-
好吧,你可能有多个
email1s(每个循环迭代一个)。你想用哪一个? -
然后在 for 循环之外定义 email1,
-
@marstran:或者你可能根本没有。
-
另外,您的代码容易受到 SQL 注入的攻击。您应该使用准备好的语句将变量放入查询中。
-
@FrankPuffer True :)
标签: java