Bla*_*man 14 java generics spring jdbctemplate
在我的UserDao中,我想返回一个用户列表.
我已经有一个UserRowMapper
说implements RowMapper<User>
.
我怎样才能做到这一点?
我试过了:
List rows = getJdbcTemplate().queryforList("select * from users");
for(Map row : rows) {
}
Run Code Online (Sandbox Code Playgroud)
但不知道如何使用我的UserRowMapper来填充User对象并将其插入到我的用户List列表中.
BTW,这是我最好使用的通用列表:
List<User> users = new ArrayList<User>();
Run Code Online (Sandbox Code Playgroud)
?
The*_*ear 41
使用JdbcTemplate.query(String sql, RowMapper<T> rowMapper, Object... args)
,您可以为?
占位符传递可变数量的值作为最后一个参数:
public List<User> findById(int userId)
{
return getJdbcTemplate().query(
"SELECT * FROM users WHERE user_id=?",
new UserRowMapper(),
userId
);
}
Run Code Online (Sandbox Code Playgroud)
或类似的东西:
public List<User> findByManyParams(int param1, int param2, String param3)
{
return getJdbcTemplate().query(
"SELECT * FROM users WHERE foo=? AND bar=? AND foobar=?",
new UserRowMapper(),
param1,
param2,
param3
);
}
Run Code Online (Sandbox Code Playgroud)
该query()
方法实际上已多次重载,因此您通常可以找到至少一种适合您在任何给定情况下所需的风格.
使用query()
,而不是queryForList()
:
List<User> users = getJdbcTemplate().query("select * from users", new UserRowMapper());
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
42201 次 |
最近记录: |