一尘不染

JavaJDBC中的命名参数

java

是否有一个名为JDBC中,而不是那些位置参数,比如@name,@city在下面的ADO.NET查询?

select * from customers where name=@name and city = @city

阅读 594

收藏
2020-03-12

共1个答案

一尘不染

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);
2020-03-12