网站首页
JSP空间
动态资讯
开源项目
技术文档
资源下载
J2EE资源
客户论坛
在线支付
 
  技术文档>>JAVA>>新手入门>>基础入门>查看文档  
  dao及factory示例     
  文章作者:未知  文章来源:水木森林  
  查看:116次  录入:管理员--2007-11-17  
 
  =============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
 
 
上一篇: c与java在流程控制上的异同    下一篇: db2 j2ee开发成本收益分析(一)
  相关文档
优先权顺序 11-16
java 能扮演嵌入式应用开发的主角吗? 11-16
实例:创建swt项目的原生库导入问题 11-17
微软最新asp.net mvc框架beta版技术细节 (1) 10-20
struts标签中的多层logic:iterator详解 11-17
java高级--java中异常机制的深入研究 11-16
如何在web工程中实现任务计划调度 11-17
关于java servlet编程应用基础分析 11-17
从集合类的升级联想到java适配器模式 11-17
从txt文件中读取数字 11-17
在jar包中动态载入第三方jar class问题 11-17
corba对象生命周期之生命周期的评估 11-16
java.net 操练 11-17
安全的基础----学习java安全之前的准备 11-17
等级结构数据集在aspire和tomcat中的使用 11-17
java学习从入门到精通 4方法篇 11-16
强强携手 将ajax带入eclipse 11-17
nlpack-eclipse-sdk-3.0.x-win32 11-17
sun certified java programmer 11-17
用visualage for java开发企业级bean 11-17
返回首页 | 关于我们 | J网章程 | JSP空间合租 | 客服中心 | 免责声明 | 常见问题 | 参观机房
本站主机空间代理至厦门市华众网络科技有限公司
《中华人民共和国增值电信业务经营许可证》
编号:闽B2-20050079
@2005-2008福建JSP技术网 版权所有 闽ICP备05000928号
技术电话:13616026886
邮箱:admin@fjjsp.com 站长QQ,点击这里给我发消息