Member类代码如下:
MemberFilter接口用于对象的查找:package com.sitinpsring.domain; import java.text.Format; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; public class Member implements Comparable{ private String id; private String name; private int age; public Member(String name,int age){ this(getIdByTime(),name,age); } public Member(String id,String name,int age){ this.id=id; this.name=name; this.age=age; } private static String getIdByTime(){ Date date = new Date(); Format formatter = new SimpleDateFormat("yyyy.MM.dd.HH.mm.ss."); Calendar cal = new GregorianCalendar(); int ms = cal.get(Calendar.MILLISECOND); // 0..999 return formatter.format(date)+ms; } public int compareTo(Object obj){ Member another=(Member)obj; return this.name.compareTo(another.name); } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getId() { return id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String toString(){ return "\nMember:"+this.id+" Name="+this.name+" Age="+this.age; } }
两个必要的异常类:package com.sitinpsring.domain; public interface MemberFilter { public boolean accept(Member member); }
package com.sitinpsring.exception; public class XmlFileReadException extends Exception{ private static final long serialVersionUID = 274126394941426299L; public XmlFileReadException(){ super(); } public XmlFileReadException(String errmsg){ super(errmsg); } }
示例调用过程:package com.sitinpsring.exception; public class XmlFileWriteException extends Exception{ private static final long serialVersionUID = 27412635354426299L; public XmlFileWriteException(){ super(); } public XmlFileWriteException(String errmsg){ super(errmsg); } }
代码下载:try { MemberService memberService = new MemberService(); List<Member> list6 = memberService.getAll(); System.out.println("list6=" + list6); Member billGates=memberService.getMemberById("2007.08.27.13.40.58.558"); billGates.setAge(48); memberService.update(billGates); List<Member> list7 = memberService.getAll(); System.out.println("list7=" + list7); // Trace by step Member andy = new Member("Andy", 20); Member bill = new Member("bill", 21); Member cindy = new Member("cindy", 22); Member domino = new Member("domino", 23); Member ein = new Member("ein", 24); Member flex = new Member("flex", 25); // Add Process memberService.add(andy); memberService.add(bill); memberService.add(cindy); memberService.add(domino); List<Member> list1 = memberService.getAll(); System.out.println("list1=" + list1); // Delect Process memberService.delete(domino); List<Member> list2 = memberService.getAll(); System.out.println("list2=" + list2); // Update Process memberService.add(ein); bill.setAge(27); memberService.update(bill); List<Member> list3 = memberService.getAll(); System.out.println("list3=" + list3); // SaveOrUpdate Process memberService.saveOrUpdate(flex); bill.setName("Bill Gates"); memberService.saveOrUpdate(bill); List<Member> list4 = memberService.getAll(); System.out.println("list4=" + list4); // Search Process MemberFilter agefilter = new MemberFilter() { public boolean accept(Member member) { return member.getAge() < 27 && member.getAge() > 22; } }; List<Member> list5 = memberService.search(agefilter); System.out.println("list5=" + list5); } catch (Exception ex) { ex.printStackTrace(); }
http://www.blogjava.net/Files/sitinspring/XmlPersistence20070827145516.rar