使用BeanUtils類簡化request和resultset轉換

當提交表單時,如果沒有使用Struts等框架的話,你的代碼可能是這樣

   User user=new User();
   user.setUsername(request.getParameter("username"));
   user.setPassword(request.getParameter("password"));
   user.setEmail(request.getParameter("email"));

如果表單項比較多,每次都要這樣寫是不是很煩?

OK,使用commons-beanutils吧。你只需要這樣寫

try {
    Map params=request.getParameterMap();
    BeanUtils.populate(user , params);
   } catch (Exception e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   }

那麼處理ResultSet時,如果沒有Hibernate等框架,你的代碼可能是這樣

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,這樣來寫吧

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)
}

如何,是否讓你的工作更加有效率了呢?

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章