| |
=============student.java========== import java.sql.*; public class student implements java.io.serializable{ private string id; private string name; private date birthday; public student(){} public student(string id, string name, date birthday){ this.id = id; this.name = name; this.birthday = birthday; } public string getid() { return id; } public void setid(string id) { this.id = id; } public string getname() { return name; } public void setname(string name) { this.name = name; } public date getbirthday() { return birthday; } public void setbirthday(date birthday) { this.birthday = birthday; } } =================course.java====================== public class course implements java.io.serializable{ private string id; private string name; private string description; public course() {} public course(string id, string name, string description){ this.id = id; this.name = name; this.description = description; } public string getid() { return id; } public void setid(string id) { this.id = id; } public string getname() { return name; } public void setname(string name ) { this.name = name; } public string getdescription() { return description; } public void setdescription(string description) { this.description = description; } } ==============smdao.java================== import java.sql.*; public interface smdao { public student createstudent(string id, string name, date birthday); publc course createcourse(string id, string name, string description); public student findstudent(string id); public course findcourse(string id); public void clean(); } ==============filesmdaoimpl.java============== import java.util.properties; import java.sql.*; import java.io.*; public class filesmdaoimpl implements smdao { private properties pro; private final static string sfile_url = "student.file.url"; private final static string cfile_url = "course.file.url"; public filesmdaoimpl(properties pro){ this.pro = pro; } public student createstudent(string id, string name, date birthday) { fileoutputstream fos = null; objectoutputstream oos = null; student stu = null; try { fos = new fileoutputstream(pro.getproperty(file_url), true); oos = new objectoutputstream(fos); stu = new student(id, name, birthday); oos.writeobject(stu); } catch(exception e) { stu = null; } finally{ try { if(oos != null) oos.close(); } catch(exception e){} try { if(fos != null) oos.close(); } catch(exception e) {} } return stu; } public course createcourse(string id, string name, string description){ return null; } public student findstudent(string id) { return null; } public course findcourse(string id) { return null; } public void clean() {} } ==============dbsmdaoimpl.java============== import java.sql.*; import java.util.properties; public class dbsmdaoimpl implements smdao { private connection con; private final static string dbdrv = "db.driver"; private final static string dburl = "db.url"; private final static string dbuser = "db.user"; private final static string dbpasswd = "db.password"; public dbsmdaoimpl(properties pro) { try { class.forname(pro.getproperty(dbdrv)); string user = pro.getproperty(dbuser); string passwd = pro.getproperty(dbpasswd); if(user != null) con = drivermanager.getconnection(pro.getproperty(dburl), user, passwd); else con = drivermanager.getconnection(pro.getproperty(dburl)); } catch(exception e){} } public student createstudent(string id, string name, date birtyday) { if(con == null) return null; student stu = null; preparedstatement stm = null; try { stm = con.preparestatement("insert into student(id, name, birthday) " + "values(?, ?, ?)"); stm.setstring(1, id); stm.setstring(2, name); stm.setdate(3, birthday); if(stm.executeupdate() > 0) stu = new student(id, name, birthday); }catch(exception e){} finally{ try {if(stm != null) stm.close();} catch(exception e) {} } return stu; } public course createcourse(string id, string name, string desc) { return null; } public student findstudent(string id) { return null; } public course findcourse(string id) { return null; } public void clean() { try { if(con != null) con.close(); }catch(exception e) {} } } ===============smdaofactory.java=============== import java.util.*; public class smdaofactory { properties pro; public static final string type_file = "file"; public static final string type_db = "database"; private string type; private static smdaofactory factory; static{ factory = new smdaofactory();} private smdaofactory() { } public static smdaofactory newinstance() { return factory; } public void settype(string type) { this.type = type; } public void setproperties(properties pro) { this.pro = pro; } public smdao createsmdao() { if(type.equals(type_file)) return new filesmdaoimpl(pro); else return new dbsmdaoimpl(pro); } } =================main.java========================================= import java.io.*; import java.util.*; import java.sql.*; public class main{ public static void main(string args[]){ properties pro = new properites(); try { pro.load(main.class.getresourceasstream("conf.properties"); }catch(exception e) { e.printstacktrace(); system.exit(1); } smdaofactory factory = smdaofactory.newinstance(); factory.settype(smdaofactory.type_db); factory.setproperties(pro); smdao dao = factory.createsmdao(); gregoraincalendar calendar = new gregoraincalendar(); calendar.set(calendar.year, 1975); calendar.set(calendar.month, 2); calendar.set(calendar.day_of_month, 21); java.sql.date birthday = new java.sql.date(calendar.gettimeinmills()); student stu = dao.createstudent("12345", "george", birthday); } } ==============conf.properties=================== db.driver=com.pointbase.jdbc.jdbcuniversaldriver db.url=jdbc:pointbase:server://george/sample db.user=pbpulic db.password=pbpublic student.file.url=student course.file.url=course
|
|