是否有一个名为JDBC中,而不是那些位置参数,比如@name,@city在下面的ADO.NET查询?
@name,@city
ADO.NET
select * from customers where name=@name and city = @city
JDBC不支持命名参数。除非你必须使用普通的JDBC(这会造成麻烦,让我告诉你),否则我建议使用Springs Excellent JDBCTemplate,它可以在没有整个IoC容器的情况下使用。
NamedParameterJDBCTemplate支持命名参数,你可以像这样使用它们:
NamedParameterJdbcTemplate jdbcTemplate = new NamedParameterJdbcTemplate(dataSource); MapSqlParameterSource paramSource = new MapSqlParameterSource(); paramSource.addValue("name", name); paramSource.addValue("city", city); jdbcTemplate.queryForRowSet("SELECT * FROM customers WHERE name = :name AND city = :city", paramSource);