0

有没有办法在 Java MySQL 查询中使用命名参数?

像这样:

SELECT * FROM table WHERE col1 = :val1 AND col2 = :val2

而不是这个:

SELECT * FROM table WHERE col1 = ? AND col2 = ?

更新:我正在使用java.sql.*,但是会对能够做到这一点的替代品感兴趣。

4

3 回答 3

0

也许 Hibernate 对你来说是个不错的选择。它提供了查询样式作为你的描述,做持久化工作是如此强大和方便,你会觉得很酷。例如

Query query = sesion.createQuery("from Student s where s.age = :age");
query.setProperties(student);


查看文档:http://docs.jboss.org/hibernate/orm/3.2/api/org/hibernate/Query.html#setParameter(java.lang.String, java.lang.Object)

于 2013-05-02T16:04:11.850 回答
0

优秀的JDBI库让您可以做到这一点以及更多。

于 2013-10-31T21:19:38.587 回答
0

是的,还有其他选择。例如,javax.persistence.*您可以很容易地实现这一目标。

http://docs.oracle.com/javaee/6/tutorial/doc/bnbrg.html

实体管理器将允许您使用 和 方法创建动态(参数化)EntityManager.createQuery查询EntityManager.createNamedQuery

于 2013-10-31T21:36:21.150 回答