jdbcTemplate.query参数讲解
时间: 2024-05-06 07:16:04 浏览: 153
jdbcTemplate是Spring框架中用于简化JDBC操作的一个模板类,query方法是其中的一个常用方法,用于执行SQL查询语句并返回结果集。
query方法有多个重载,其中一个常用的重载方法的参数如下:
```java
public <T> List<T> query(String sql, Object[] args, RowMapper<T> rowMapper) throws DataAccessException;
```
解释一下每个参数的含义:
1. sql:要执行的SQL语句,可以包含占位符(?);
2. args:一个Object数组,用于替换SQL语句中的占位符。数组中的每个元素将按照顺序依次替换占位符,如果没有占位符则可以传入一个空数组或者null;
3. rowMapper:一个RowMapper类型的对象,用于将查询结果的每一行映射为一个Java对象。RowMapper是一个接口,一般使用Lambda表达式或匿名内部类来实现。
例如,以下代码演示了如何使用query方法查询数据库中的所有用户信息:
```java
List<User> userList = jdbcTemplate.query("SELECT * FROM user", new Object[]{}, new RowMapper<User>() {
@Override
public User mapRow(ResultSet resultSet, int i) throws SQLException {
User user = new User();
user.setId(resultSet.getInt("id"));
user.setName(resultSet.getString("name"));
user.setAge(resultSet.getInt("age"));
return user;
}
});
```
这个例子中,第一个参数是SQL查询语句,第二个参数是一个空数组,表示没有占位符需要替换,第三个参数是一个RowMapper对象,用于将查询结果中的每一行映射为一个User对象。最终返回的是一个包含所有用户信息的List<User>对象。
阅读全文