1。在審核過程中,我們經常要把临时表中的数据拷贝到正式表中。(即hibernate中我们将临时表的model数据拷贝到正式表的model中),下面是使用BeanUtils包将studentTemp拷贝到studnet中一个例子:
student.java如下:

studentTemp.java如下:

由于BeanUtils中copyProperties方法只支持简单的属性拷贝。为使ClassesTemp类型可以自动转换成Classes类型我们使用了ClassesConvert.java如下:

BeanUtils只支持List中为String类型的拷贝,为使List<PersonTemp>类型可以自动转换成List<Person>类型我们使用了PersonConvert.java如下:

测试Test如下:
public class BeanUtilsTest {
public static void main(String[] args) throws Exception {
ConvertUtils.register(new ClassesConvert(), ClassesTemp.class);
ConvertUtils.register(new PersonConvert(), List.class);
List<Person> persons = new ArrayList();
List<String> phones = new ArrayList();
phones.add("12312312-12312");
phones.add("9999999-12312");
for (int i = 0; i < 100; ++i) {
Person person = new Person();
person.setId("person" + i);
person.setName("小李" + i);
persons.add(person);
}
Classes officalC = new Classes();
Student student = new Student();
officalC.setId("1231");
officalC.setName("一一班");
student.setC(officalC);
student.setPerson(persons);
student.setPhones(phones);
StudentTemp studentTemp = new StudentTemp();
BeanUtils.copyProperties(studentTemp, student);
System.out.println(studentTemp.getC().getId() + "-----------------");
System.out.println(studentTemp.getC().getName() + "-----------------");
// System.out.println((studentTemp.getPhones().get(0)) + "-----------------" + (studentTemp.getPhones().get(1))
// + "-----------------");
List<PersonTemp> myPersons = studentTemp.getPerson();
for (int i = 0; i < myPersons.size(); ++i) {
System.out.println((myPersons.get(i)).getId() + "-----------------" + (myPersons.get(i)).getName()
+ "--------------" + (myPersons.get(i)).getStudent());
}
System.out.println("0k--------------------------------");
}
输出结果如下:
1231-----------------
一一班-----------------
person0-----------------小李0--------------null
person1-----------------小李1--------------null
person2-----------------小李2--------------null
person3-----------------小李3--------------null

- 大小: 14.1 KB

- 大小: 14.4 KB

- 大小: 81.7 KB

- 大小: 95.8 KB
分享到:
相关推荐
commons-beanutils-1.8.0 jar包: 1.commons-beanutils-1.8.0.jar 2.commons-beanutils-1.8.0-javadoc.jar 3.commons-beanutils-1.8.0-sources.jar 4.commons-beanutils-bean-collections-1.8.0.jar 5.commons-...
赠送jar包:commons-beanutils-1.9.4.jar; 赠送原API文档:commons-beanutils-1.9.4-javadoc.jar; 赠送源代码:commons-beanutils-1.9.4-sources.jar; 赠送Maven依赖信息文件:commons-beanutils-1.9.4.pom; ...
解决办法是把commons-beanutils中的org/apache/commons/collections删除,这里上传一个改好可以直接使用的。
- `commons-beanutils-1.8.0-sources.jar`:这个文件包含了`1.8.0`版本的源代码,对于开发者来说是极其宝贵的资源,可以通过阅读源码理解内部实现,学习如何优雅地处理Bean操作,甚至进行二次开发。 4. **使用场景...
在本文中,我们将深入探讨`commons-beanutils-1.9.4`这个版本,了解其核心功能、使用场景以及如何在项目中集成和应用。 Apache Commons BeanUtils库的主要目标是简化JavaBean对象的属性访问。它通过提供一系列静态...
Commons-beanutils jar包,比较新希望对大家能有帮助
在这个"commons-beanutils-1.9.4.jar.zip"压缩包中,包含的核心文件是"commons-beanutils-1.9.4.jar",这是Apache Commons BeanUtils库的1.9.4版本。 Apache Commons BeanUtils的主要功能和知识点包括: 1. **属性...
commons-beanutils-1.8.3.rar官方正版免费版,BeanUtils主要提供了对于JavaBean进行各种操作。 个包主要提供用于操作JavaBean的工具类,Jakarta-Common-BeanUtils的主要功能都在这个包里实现。
common-beanutils下载地址:http://commons.apache.org/proper/commons-beanutils/ common-logging现在地址:http://commons.apache.org/proper/commons-logging/
`commons-beanutils-1.8.3`版本包含了完整的源代码,这对于开发者来说是一份宝贵的资源。通过阅读源码,我们可以了解到BeanUtils如何使用反射API来查找和调用JavaBean的getter和setter,以及如何处理属性名的转换和...
Commons是Apache开放源代码组织中的一个Java子... 由于Fileupload子项目同时要用到另外一个项目commons-Beanutils,所以必须下载Beanutils,并将解压后的文件commons-beanutils.jar拷贝到{$TOMCAT}/common/lib目录下。
标题"commons-beanutils-1.8.3-bin.tar.gz"指的是Apache Commons BeanUtils 1.8.3版本的二进制发布包,通常包含.jar文件和其他相关资源,已经打包成.tar.gz格式,这是一种常见的Unix/Linux系统下的压缩文件格式。...
在实际开发中,使用`commons-beanutils-1.7.0`库可以减少代码量,提高代码的可读性和可维护性。不过需要注意的是,由于其依赖于反射,性能可能不如直接调用getter和setter方法,因此在性能敏感的场景下需要谨慎使用...
以下是压缩文件的jar包名称: commons-validator-1.3.0.jar commons-pool-1.3.jar ...commons-beanutils-1.6.jar 包含两个最常用的源码: commons-beanutils-1.6-src.zip commons-collections-3.2.1-src.zip
commons-beanutils-1.8.3.jar commons-codec-1.7.jar commons-collections-3.2.1.jar commons-dbcp-1.4.jar commons-digester-2.1.jar commons-jexl-2.1.1.jar commons-lang-2.6.jar commons-logging-1.1.1.jar ...
- **避免直接暴露BeanUtils**:在业务逻辑中直接使用BeanUtils可能会导致代码难以理解和维护,建议封装在服务层或模型层的方法中。 - **谨慎使用自动类型转换**:尽管方便,但自动类型转换可能导致意料之外的结果...
内含以下文件: c3p0-0.9.1.2.jar commons-dbutils-1.3.jar jstl.jar mysql-connector-java-5.1.7-bin.jar standard.jar
部分jar包名称如下(版本有新的也有旧的,基本上涵盖了所有common包):commons-validator.jar commons-validator-1.3.1.jar commons-pool.jar commons-......