`
bdk82924
  • 浏览: 565137 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

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

  

分享到:
评论

相关推荐

    JavaBean和beanutils工具类的学习

    BeanUtils工具类是由Apache软件基金会开发的一个开源库,它简化了JavaBean的处理,提供了反射和属性操作的功能。BeanUtils提供了以下主要功能: 1. `BeanUtils.setProperty()`: 用于设置JavaBean对象的属性值,只...

    使用servlet实现注册&登录&解决注册乱码&beanutils;的使用

    本教程将探讨如何使用Servlet实现用户注册和登录功能,以及如何解决注册时可能出现的乱码问题,并利用Apache的BeanUtils库简化Java Bean的操作。 首先,让我们深入理解Servlet的工作原理。Servlet是Java类,遵循...

    BeanUtils工具类

    下面将详细介绍BeanUtils工具类的核心功能和使用方法。 1. **属性设置与获取** BeanUtils工具类通过反射机制实现了对JavaBean的属性设置。例如,我们有一个User类,包含name和age属性,我们可以用以下方式设置属性...

    BeanUtils类库jar包和源码

    BeanUtils是Apache Commons项目中的一个核心工具类库,...通过理解和熟练使用BeanUtils,开发者可以更加高效地进行对象之间的数据交换和处理。而提供的源码则可以帮助我们深入理解其内部机制,更好地定制和扩展功能。

    BeanUtils工具类的Jar包

    在实际应用中,开发者应根据项目需求合理使用BeanUtils,注意处理可能的异常,同时结合其他的框架和库,以提高开发效率和代码质量。了解并熟练运用这些知识点,对于提升JavaWeb开发技能是非常有帮助的。

    BeanUtils工具类的使用.zip

    本资源包主要围绕`BeanUtils`工具类的使用进行讲解,旨在帮助开发者更好地理解和应用这个工具类。 首先,`BeanUtils`的核心功能是基于JavaBean规范,它提供了方便的方法来处理Java对象的属性。JavaBean是一种遵循...

    beanutils使用

    在Java开发中,Apache Commons BeanUtils是一个非常...通过了解和熟练使用BeanUtils,开发者可以更专注于业务逻辑,而不是基础的数据转换工作。在实际开发中,合理利用这类工具库,可以有效提升代码质量和开发效率。

    BeanUtils jar包+源码

    3. **类型转换**:BeanUtils内部使用了`PropertyUtils`类来处理属性的类型转换,当源对象和目标对象的属性类型不一致时,它会尝试进行自动类型转换。然而,这种转换并不总是成功,对于一些复杂类型的转换,可能需要...

    resultset2xml

    例如,使用BeanUtils可以将ResultSet映射到Java对象,然后通过对象到XML的转换工具,如JAXB或DOM4J,将这些对象转换为XML。 此外,考虑到"util"这个标签,我们可以推测这是一个实用工具类或者函数库,用于处理这样...

    beanUtils jar 包,还包括source和doc

    《深入理解BeanUtils:...总结,Apache Commons BeanUtils是Java开发中的得力助手,它的属性复制、类型转换等功能极大简化了对象操作。通过深入理解和合理使用BeanUtils,可以提高代码的可读性和维护性,提升开发效率。

    commons-beanutils-1.9.4

    在本文中,我们将深入探讨`commons-beanutils-1.9.4`这个版本,了解其核心功能、使用场景以及如何在项目中集成和应用。 Apache Commons BeanUtils库的主要目标是简化JavaBean对象的属性访问。它通过提供一系列静态...

    Commons BeanUtils 1.8.3 API

    在Java编程中,Java Bean通常表示为具有属性、构造函数和getter/setter方法的简单类,BeanUtils库极大地简化了这些对象的创建、属性设置和访问。 BeanUtils的核心功能包括: 1. **属性拷贝**:通过`copyProperties...

    BeanUtils工具 .jar 包

    BeanUtils工具.jar包是Apache Commons项目中的一个核心组件,它为Java开发人员提供了一套方便的工具类,用于处理Java Bean对象之间的属性复制、类型转换等常见操作。这个库简化了对象模型之间的数据绑定,特别是在...

    使用BeanUtils操作属性的一个小坑

    如果属性类型不匹配,可以实现`org.apache.commons.beanutils.Converter`接口,然后通过`registerConverter()`方法注册,使BeanUtils在遇到这种类型转换时使用自定义的转换逻辑。 总之,虽然BeanUtils在处理...

    beanutils的jar包

    BeanUtils的`PropertyUtils`类中的`convertType()`方法能够自动将一个对象转换为指定的目标类型,这大大提高了代码的灵活性和可维护性。 此外,BeanUtils库还支持属性的动态设置和获取。`PropertyUtils.getProperty...

    commons-beanutils-1.8.3和commons-beanutils-1.8.0

    Apache Commons BeanUtils是Java开发中的一个实用工具库,主要用于处理JavaBeans对象,简化对JavaBean属性的操作。这个库提供了一套方便的API,使得开发者可以通过简单的API调用来获取、设置JavaBean的属性,甚至...

    BeanUtils包含源码和jar包, 包含BeanUtils和logging一套拿走,有源码和jar包

    BeanUtils是Apache Commons项目中的一个核心工具库,主要用于处理Java对象的属性操作,极大地简化了JavaBean之间的数据绑定和转换工作。在这个压缩包中,包含了BeanUtils的源码和对应的jar包,这使得开发者能够方便...

    Spring-BeanUtils工具类

    总的来说,Spring BeanUtils是Spring框架中的一个强大工具,能够简化JavaBean的处理,提高开发效率,但同时也需要开发者在使用时注意数据安全和类型转换的正确性。了解并熟练掌握BeanUtils的使用,对于日常的Spring...

    beanutils-1.8.3开发包

    1. **属性操作**:使用`PropertyUtils`类,可以方便地读取和设置JavaBean的任何属性,即使属性是嵌套的或者需要转换类型。 2. **复制属性**:`BeanUtils.copyProperties()`方法可以将一个对象的所有属性值复制到另...

    BeanUtils包

    BeanUtils库是基于JavaBeans规范的,JavaBeans是一种符合特定规则的Java类,它们通常具有公有的getter和setter方法,用于封装和解封装对象的数据。 **BeanUtils的核心功能:** 1. **属性设置和获取:** BeanUtils...

Global site tag (gtag.js) - Google Analytics