<%@ page contentType="text/html; charset=gb2312"%> DAO及factory示例
网站公告:   ◆北天JAVA技术网热情为java爱好者服务,本网内容包括JAVA(JSP、servlet、EJB、webservice、j2ee、javabean、应用服务器、JavaScript),数据库(MYSQL、SQL Server、Sybase、Oracle、DB2、数据库综合知识),设计研究(设计模式、Struts、Spring、Hibernate、设计框架、设计综合知识),WEB2.0新技术(主要介绍AJAX),以及各种技术的入门、实例、例子等等,欢迎各位多来坐坐!◆  诚邀各位JAVA爱好者加盟!◆  本网站内容丰富,更新快,保证每周20篇以上!  
加入收藏
设为首页
联系站长
承接项目
  相关资源:网站首页 | 免费培训学院 | 技术论坛 | JAVA聊天室 | 作家专栏 | 开发工具 | 认证考试 | 会员俱乐部
  JAVA技术初学者园地 | jsp与servlet | javascript | Java源代码 | EJB | web service | 应用服务器 | JAVA综合知识
  设计研究设计模式 | 设计框架 | Struts | Spring | Hibernate | 开源项目 | 面向对象设计 | 设计综合知识
  数 据 库MYSQL | SQL Server | Sybase | Oracle | DB2 | Informix | Access | 数据库综合知识
  其他资源:AJAX新技术 | 网站开发 | ERP软件 | OA办公软件 | 商业智能BI | 开发综合知识 | 承接项目 | 项目试用

 
 
DAO及factory示例
     发布者: 发布时间:2006-10-02
=============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
(转载文章请保留出处:北天JAVA技术网(www.java114.com))
 
更多精彩文章:
DAO及factory示例
java小问题集合
Java游戏开发案例-方块游戏
问题集锦:Servlets/JSP开发技术问答
数据库设计5步骤
struts国际化程序尝试
 
最近评论:
        
你曾悄悄的来过!
wow gold,wow gold,wow gold,ffxi gil max(5644)
        
冰封的往事!
wow power leveling,wow gold,wow power leveling,wow gold max(1604)
        
冰封的往事!
wow power leveling,wow gold,WoW Gold,wow gold max(8687)
        
标 题:   
内 容:   
 
                                  
 
免责声明:该文章由网友发表,如果对您造成侵权,请联系站长

首页 - 承接项目 - 网站地图 - 联系我们 -
版权所有北天JAVA技术工作室 ICP证号:粤ICP备06079815号