Java MySQL查询命名参数?

时间:2013-05-02 15:45:15

标签: java mysql

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

像这样:

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

而不是:

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

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

3 个答案:

答案 0 :(得分:0)

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

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)

答案 1 :(得分:0)

优秀的JDBI库让您可以执行此操作等等。

答案 2 :(得分:0)

是的,有其他选择。例如,使用javax.persistence.*,您可以轻松实现这一目标。

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

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