|
=============Student.java==========8T import java.sql.*;D#9/ public class Student implements java.io.Serializable{{`:S5 private String id;): private String name;Ki\ private Date birthday;zmmQG ©达内科技论坛 -- 达内科技论坛 .M-KA@ public Student(){}1Hy public Student(String id, String name, Date birthday){FG this.id = id;gbZ this.name = name;= this.birthday = birthday;po|a8M }©达内科技论坛 -- 达内科技论坛 8/ ©达内科技论坛 -- 达内科技论坛 mWT public String getId() { return id; }+3[Iu public void setId(String id) { this.id = id; }o ©达内科技论坛 -- 达内科技论坛 ]r public String getName() { return name; }U b public void setName(String name) { this.name = name; }" ©达内科技论坛 -- 达内科技论坛 3^N: public Date getBirthday() { return birthday; }EJMQ:o public void setBirthday(Date birthday) { this.birthday = birthday; }#Acqp }©达内科技论坛 -- 达内科技论坛 *cp(F ©达内科技论坛 -- 达内科技论坛 M#S4x! =================Course.java======================s public class Course implements java.io.Serializable{|33[( private String id;a private String name;=cd4 private String description;j ©达内科技论坛 -- 达内科技论坛 , public Course() {}M{bCxI public Course(String id, String name, String description){z this.id = id;GArXC this.name = name;W|/ this.description = description;C$Z5` }©达内科技论坛 -- 达内科技论坛 ;U ©达内科技论坛 -- 达内科技论坛 = public String getId() { return id; }~} public void setId(String id) { this.id = id; }Om ©达内科技论坛 -- 达内科技论坛 :Kwa public String getName() { return name; }bx)J$ public void setName(String name ) { this.name = name; }' ©达内科技论坛 -- 达内科技论坛 s< public String getDescription() { return description; }@S& public void setDescription(String description) { this.description = description; }4 }©达内科技论坛 -- 达内科技论坛 3M$B ©达内科技论坛 -- 达内科技论坛 )$ ==============SMdao.java==================& import java.sql.*;_R7 public interface SMdao {PC public Student createStudent(String id, String name, Date birthday);Ipm?-3 publc Course createCourse(String id, String name, String description);*7v ©达内科技论坛 -- 达内科技论坛 XOBmW public Student findStudent(String id);Vw_Ei public Course findCourse(String id);nE ©达内科技论坛 -- 达内科技论坛 U~% public void clean();]L\Ixu }©达内科技论坛 -- 达内科技论坛 ?"_&! ©达内科技论坛 -- 达内科技论坛 >L?O* ==============FileSMdaoImpl.java==============A+ import java.util.Properties;@ import java.sql.*;r^| import java.io.*;[gN ©达内科技论坛 -- 达内科技论坛 .W6DA public class FileSMdaoImpl implements SMdao {JM? private Properties pro;s#< private final static String SFILE_URL = "student.file.url";YT-_xq private final static String CFILE_URL = "course.file.url";%g_& public FileSMdaoImpl(Properties pro){;rAs this.pro = pro;OF}BQ }©达内科技论坛 -- 达内科技论坛 41<K+ ©达内科技论坛 -- 达内科技论坛 & public Student createStudent(String id, String name, Date birthday) {P^$u FileOutputStream fos = null;] ObjectOutputStream oos = null;&-M@ Student stu = null;Y} ©达内科技论坛 -- 达内科技论坛 1B|o3R try {©达内科技论坛 -- 达内科技论坛 *frlF fos = new FileOutputStream(pro.getProperty(FILE_URL), true);HPW1{E oos = new ObjectOutputStream(fos);24o\k stu = new Student(id, name, birthday);Hwq oos.writeObject(stu);9% } catch(Exception e) { stu = null; }qU finally{[ try { if(oos != null) oos.close(); } catch(Exception e){}Gm try { if(fos != null) oos.close(); } catch(Exception e) {}u79 }©达内科技论坛 -- 达内科技论坛 <eL ©达内科技论坛 -- 达内科技论坛 hZSh5L return stu;{^ }©达内科技论坛 -- 达内科技论坛 q|%p ©达内科技论坛 -- 达内科技论坛 _`lP public Course createCourse(String id, String name, String description){= return null;a }©达内科技论坛 -- 达内科技论坛 K;- ©达内科技论坛 -- 达内科技论坛 _!&#. public Student findStudent(String id) {Y return null;#2Q }©达内科技论坛 -- 达内科技论坛 iN ©达内科技论坛 -- 达内科技论坛 Y|!'j public Course findCourse(String id) {A return null;# }©达内科技论坛 -- 达内科技论坛 43+F ©达内科技论坛 -- 达内科技论坛 =9rxl public void clean() {}s0} }©达内科技论坛 -- 达内科技论坛 b2F, ==============DBSMdaoImpl.java==============^ import java.sql.*;I.%m_ import java.util.Properties;Zxv9_ ©达内科技论坛 -- 达内科技论坛 +zV public class DBSMdaoImpl implements SMDao {B private Connection con;$o private final static String DBDRV = "db.driver";8LeZ> private final static String DBURL = "db.url";e\l private final static String DBUSER = "db.user";GS@ private final static String DBPASSWD = "db.password";"&Vw[l ©达内科技论坛 -- 达内科技论坛 j public DBSMdaoImpl(Properties pro) {\xoZ try {©达内科技论坛 -- 达内科技论坛 _QxNo Class.forName(pro.getProperty(DBDRV)); :9$_`B String user = pro.getProperty(DBUSER);.k-;l String passwd = pro.getProperty(DBPASSWD);ctK if(user != null)%Qf("d con = DriverManager.getConnection(pro.getProperty(DBURL),k( user, passwd);bZ9;GO else©达内科技论坛 -- 达内科技论坛 ; con = DriverManager.getConnection(pro.getProperty(DBURL));<Dl*0 } catch(Exception e){}+VJ% }©达内科技论坛 -- 达内科技论坛 }i# ©达内科技论坛 -- 达内科技论坛 NGF public Student createStudent(String id, String name, Date birtyday) {?G if(con == null) return null;F Student stu = null;=~uFIE PreparedStatement stm = null;j;oyv ©达内科技论坛 -- 达内科技论坛 pCsMY) try {©达内科技论坛 -- 达内科技论坛 ;_Wh stm = con.prepareStatement("insert into student(id, name, birthday) " +uDiP "values(?, ?, ?)");p,)aqU stm.setString(1, id);bs stm.setString(2, name);!r stm.setDate(3, birthday);Ip<|2E ©达内科技论坛 -- 达内科技论坛 ANfDb( if(stm.executeUpdate() > 0)bp stu = new Student(id, name, birthday);8/C8 }catch(Exception e){}H7qE9 finally{I try {if(stm != null) stm.close();}^KpO catch(Exception e) {}7eeQmE }©达内科技论坛 -- 达内科技论坛 0-hz ©达内科技论坛 -- 达内科技论坛 :.~2Ru return stu;8'S7 }©达内科技论坛 -- 达内科技论坛 DeKI+Y ©达内科技论坛 -- 达内科技论坛 7{Qe%x public Course createCourse(String id, String name, String desc) { return null; }= public Student findStudent(String id) { return null; }\qM} public Course findCourse(String id) { return null; }}4 ©达内科技论坛 -- 达内科技论坛 :KZ>8 public void clean() {Q try {©达内科技论坛 -- 达内科技论坛 :$0HI if(con != null) con.close();$;9 }catch(Exception e) {}8+% }©达内科技论坛 -- 达内科技论坛 fS?7V} }©达内科技论坛 -- 达内科技论坛 {V ©达内科技论坛 -- 达内科技论坛 { ===============SMdaoFactory.java===============^ import java.util.*;WJ"^W ©达内科技论坛 -- 达内科技论坛 ^ public class SMdaoFactory {n;6Ych Properties pro;FK8fdf public static final String TYPE_FILE = "file";T8Q7 public static final String TYPE_DB = "database";(@o fk private String type;d#QN private static SMdaoFactory factory;7XQn static{ factory = new SMdaoFactory();}9. ©达内科技论坛 -- 达内科技论坛 V=iB private SMdaoFactory() {m9 ©达内科技论坛 -- 达内科技论坛 -M8 }©达内科技论坛 -- 达内科技论坛 ' ©达内科技论坛 -- 达内科技论坛 BaMO public static SMdaoFactory newInstance() { return factory; }fcgM0e ©达内科技论坛 -- 达内科技论坛 `A~<\T public void setType(String type) { this.type = type; }aRl ©达内科技论坛 -- 达内科技论坛 uQc~ public void setProperties(Properties pro) { this.pro = pro; }c< ©达内科技论坛 -- 达内科技论坛 <5C36* public SMdao createSMdao() {(?1 if(type.equals(TYPE_FILE))e(Z return new FileSMdaoImpl(pro);pX-# else©达内科技论坛 -- 达内科技论坛 WmH* return new DBSMdaoImpl(pro);?l1wY }©达内科技论坛 -- 达内科技论坛 -HeC3 }©达内科技论坛 -- 达内科技论坛 '&' ©达内科技论坛 -- 达内科技论坛 M$_~K ©达内科技论坛 -- 达内科技论坛 T? =================Main.java=========================================8st import java.io.*;hF import java.util.*;K[.N import java.sql.*;(Y public class Main{{bh public static void main(String args[]){$F/ Properties pro = new Properites();"2|\[ try {©达内科技论坛 -- 达内科技论坛 >)h pro.load(Main.class.getResourceAsStream("conf.properties");2 }catch(Exception e) { VLd e.printStackTrace();Li@p# System.exit(1); mul{6 }©达内科技论坛 -- 达内科技论坛 Q,?` ©达内科技论坛 -- 达内科技论坛 o) SMdaoFactory factory = SMdaoFactory.newInstance();l7vu[k factory.setType(SMdaoFactory.TYPE_DB);k#D factory.setProperties(pro);T`N6l SMdao dao = factory.createSMdao();=j6tL{ GregorainCalendar calendar = new GregorainCalendar();:/)6FS calendar.set(Calendar.YEAR, 1975);F|(X calendar.set(Calendar.MONTH, 2);} calendar.set(Calendar.DAY_OF_MONTH, 21);2c$N{ java.sql.Date birthday = new java.sql.Date(calendar.getTimeInMills());3 Student stu = dao.createStudent("12345", "George", birthday);A&,w' }©达内科技论坛 -- 达内科技论坛 _0ALDV }©达内科技论坛 -- 达内科技论坛 MLVt ==============conf.properties===================EG3Y_S db.driver=COM.pointbase.jdbc.jdbcUniversalDriver^:y B db.url=jdbc:pointbase:server://george/samplez48tTi db.user=pbpulic@` db.password=pbpublic=1V4u6 ©达内科技论坛 -- 达内科技论坛 \*Yp& student.file.url=student:dc% course.file.url=course"<EUO
|