来自PHP / CodeIgniter的后台,其中运行查询就像......一样简单。
$this->db->query('SELECT * FROM users WHERE id = ?', array(
$userId
));
我正在尝试用Java完成类似的事情。我知道直接运行查询可以像......一样简单。
TypedQuery<Guest> query = em.createQuery(
"SELECT g FROM Guest g ORDER BY g.id", Guest.class);
return query.getResultList();
但是如何在查询中注入参数?
答案 0 :(得分:2)
您可以使用命名参数或位置参数。
命名参数
SELECT g FROM Guest g WHERE g.name = :name
然后你可以在你的查询参考上写这个:
query.setParameter("name", aName)
位置参数
SELECT g FROM Guest g WHERE g.name = ?1
然后你可以在你的查询参考上写这个:
query.setParameter(1, aName);