java rowmapper 通用实现,返回一个列表,我已经有了一个rowmapper实现

In my UserDao I want to return a list of users.

I already have a UserRowMapper that implements RowMapper.

How can I do this?

I tried:

List rows = getJdbcTemplate().queryforList("select * from users");

for(Map row : rows) {

}

But wasn't sure how to use my UserRowMapper to populate a User object and insert it into my list of users List.

BTW, is this the best generic list I shoudl be using:

List users = new ArrayList();

?

解决方案

Use JdbcTemplate.query(String sql, RowMapper rowMapper, Object... args), and you can pass in a variable number of values for the ? placeholders as the last argument(s):

public List findById(int userId)

{

return getJdbcTemplate().query(

"SELECT * FROM users WHERE user_id=?",

new UserRowMapper(),

userId

);

}

Or something like:

public List findByManyParams(int param1, int param2, String param3)

{

return getJdbcTemplate().query(

"SELECT * FROM users WHERE foo=? AND bar=? AND foobar=?",

new UserRowMapper(),

param1,

param2,

param3

);

}

The query() method is actually overloaded many times over, so you can usually find at least one flavor that works for what you need in any given situation.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值