DAO及factory示例

丿度课如年

丿度课如年

2016-02-19 13:23

有一种朋友不在生活里,却在生命力;有一种陪伴不在身边,却在心间。图老师即在大家的生活中又在身边。这么贴心的服务你感受到了吗?话不多说下面就和大家分享DAO及factory示例吧。

  =============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
展开更多 50%)
分享

猜你喜欢

DAO及factory示例

编程语言 网络编程
DAO及factory示例

Factory Nights版式设计

平面设计 海报设计 广告设计 画报设计 签名设计 服装设计 名片设计 画册设计 版式设计 商标设计
Factory Nights版式设计

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

高级 DAO 编程

编程语言 网络编程
高级 DAO 编程

The Project Factory视觉形象

平面设计 海报设计 广告设计 画报设计 签名设计 服装设计 名片设计 画册设计 版式设计 商标设计
The Project Factory视觉形象

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

The Skins Factory 设计的ringtones

平面设计 标志设计 UI设计 VI设计
The Skins Factory 设计的ringtones

连接MYSQL数据库的方法及示例

电脑网络
连接MYSQL数据库的方法及示例

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

“您未被授权查看该页”的原因和解决办法

“您未被授权查看该页”的原因和解决办法

Cocoon2的安装

Cocoon2的安装
下拉加载更多内容 ↓