<%@ 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))
 
更多精彩文章:
java小问题集合
Java游戏开发案例-方块游戏
问题集锦:Servlets/JSP开发技术问答
数据库设计5步骤
struts国际化程序尝试
2006 Sun科技日,走近JavaEE5
 
最近评论:
        
你曾悄悄的来过!
wow gold,wow gold,wow gold,ffxi gil max(8821)
        
你曾悄悄的来过!
wow gold,wow gold,wow gold,ffxi gil max(7205)
        
你曾悄悄的来过!
wow gold,wow gold,wow gold,ffxi gil max(914)
        
你曾悄悄的来过!
wow gold,wow gold,wow gold,ffxi gil max(4913)
        
你曾悄悄的来过!
wow gold,wow gold,wow gold,ffxi gil max(2282)
        
你曾悄悄的来过!
wow gold,wow gold,wow gold,ffxi gil max(9669)
        
你曾悄悄的来过!
wow gold,wow gold,wow gold,ffxi gil max(7038)
        
你曾悄悄的来过!
wow gold,wow gold,wow gold,ffxi gil max(5410)
        
你曾悄悄的来过!
wow gold,wow gold,wow gold,ffxi gil max(3207)
        
你曾悄悄的来过!
wow gold,wow gold,wow gold,ffxi gil max(3680)
        
标 题:   
内 容:   
 
                                  
 
免责声明:该文章由网友发表,如果对您造成侵权,请联系站长

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