有没有办法在 Java MySQL 查询中使用命名参数?
像这样:
SELECT * FROM table WHERE col1 = :val1 AND col2 = :val2
而不是这个:
SELECT * FROM table WHERE col1 = ? AND col2 = ?
更新:我正在使用java.sql.*
,但是会对能够做到这一点的替代品感兴趣。
也许 Hibernate 对你来说是个不错的选择。它提供了查询样式作为你的描述,做持久化工作是如此强大和方便,你会觉得很酷。例如
Query query = sesion.createQuery("from Student s where s.age = :age");
query.setProperties(student);
优秀的JDBI库让您可以做到这一点以及更多。
是的,还有其他选择。例如,javax.persistence.*
您可以很容易地实现这一目标。
http://docs.oracle.com/javaee/6/tutorial/doc/bnbrg.html
实体管理器将允许您使用 和 方法创建动态(参数化)EntityManager.createQuery
查询EntityManager.createNamedQuery
。