国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

DAO及factory示例

2019-11-17 06:25:18
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

  =============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

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 天峨县| 阳谷县| 策勒县| 镇巴县| 博乐市| 平顺县| 迁安市| 馆陶县| 大丰市| 文昌市| 泸州市| 宁晋县| 隆化县| 枞阳县| 平武县| 新宁县| 绵阳市| 宁乡县| 通江县| 泰和县| 南宫市| 凤凰县| 孙吴县| 腾冲县| 蒙城县| 纳雍县| 黑山县| 秭归县| 广平县| 修水县| 五莲县| 玉田县| 页游| 钟祥市| 昌邑市| 呼伦贝尔市| 华池县| 武隆县| 深州市| 饶平县| 望城县|