使用BeanUtils类简化request和resultset转换

转:http://xdwangiflytek.iteye.com/blog/1358275

 

当提交表单时,如果没有使用Struts等框架的话,你的代码可能是这样

 

Java代码 复制代码  收藏代码
  1. User user=new User();   
  2. user.setUsername(request.getParameter("username"));   
  3. user.setPassword(request.getParameter("password"));   
  4. user.setEmail(request.getParameter("email"));  
   User user=new User();
   user.setUsername(request.getParameter("username"));
   user.setPassword(request.getParameter("password"));
   user.setEmail(request.getParameter("email"));

 如果表单项比较多,每次都要这样写是不是很烦?

 

OK,使用commons-beanutils吧。你只需要这样写

 

Java代码 复制代码  收藏代码
  1. try {   
  2.     Map params=request.getParameterMap();   
  3.     BeanUtils.populate(user , params);   
  4.    } catch (Exception e) {   
  5.     // TODO Auto-generated catch block   
  6.     e.printStackTrace();   
  7.    }  
try {
    Map params=request.getParameterMap();
    BeanUtils.populate(user , params);
   } catch (Exception e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   }

 

那么处理ResultSet时,如果没有Hibernate等框架,你的代码可能是这样

 

Java代码 复制代码  收藏代码
  1. if (rs.next()) {   
  2.     User user = new User();   
  3.     user.setId(rs.getLong("id"));   
  4.     user.setUsercode(rs.getString("usercode"));   
  5.     user.setSex(rs.getString("sex"));   
  6.     user.setPassword(rs.getString("password"));   
  7.     user.setPhone(rs.getString("phone"));   
  8.     user.setEmail(rs.getString("email"));   
  9.    users.add(user);   
  10. }  
if (rs.next()) {
    User user = new User();
    user.setId(rs.getLong("id"));
    user.setUsercode(rs.getString("usercode"));
    user.setSex(rs.getString("sex"));
    user.setPassword(rs.getString("password"));
    user.setPhone(rs.getString("phone"));
    user.setEmail(rs.getString("email"));
   users.add(user);
}

 

 是不是也有点烦?OK,这样来写吧

 

Java代码 复制代码  收藏代码
  1. ResultSetDynaClass rsdc = new ResultSetDynaClass(rs);   
  2. Iterator rows = rsdc.iterator();   
  3. ArrayList lists = new ArrayList();   
  4. while (rows.hasNext()) {   
  5.      User user = new User();   
  6.      DynaBean row = (DynaBean) rows.next();   
  7.      BeanUtils.copyProperties(user, row);   
  8.      lists.add(user)   
  9. }  
ResultSetDynaClass rsdc = new ResultSetDynaClass(rs);
Iterator rows = rsdc.iterator();
ArrayList lists = new ArrayList();
while (rows.hasNext()) {
     User user = new User();
     DynaBean row = (DynaBean) rows.next();
     BeanUtils.copyProperties(user, row);
     lists.add(user)
}

  

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值