读书人

common-BeanUtils应用

发布时间: 2012-12-20 09:53:21 作者: rapoo

common-BeanUtils使用

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

student.java如下:

?

? common-BeanUtils应用

studentTemp.java如下:

?

common-BeanUtils应用

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

common-BeanUtils应用

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

common-BeanUtils应用

测试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

读书人网 >编程

热点推荐