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