五:设计实例
下面我把留言板作为实例来讨论:
entry/Guestbook.java(留言板对象)
database/GuestbookMap.java(更新,删除,修改留言板)
manager/GuestbookManager.java(处理所有的事务)
数据表结构(postgresql)
create sequence seq_guestbook increment 1 ;
/**序列号生成器**/
create table guestbook(
id int8 default nextval('seq_guestbook'), /**主键**/
title varchar(64),/**主题**/
body text,/**内容**/
sayid int8,/**发言人**/
toid int8,/**接受人**/
saytime datetime default now(),/**留言时间**/
newflg smallint default 1/**是否查看过**/
);
Guestbook.java
=======================
import java.util.*;
public class Guestbook(){
private int id;
private String title;
private body title;
private int sayid;
private int sayid;
private Date saytime;
private short newflg;
public Guestbook(){
}
public int getId(){
return this.id;
}
public void setId(int _id){
this.id=_id;
}
........
(全是get/set方法)
}
GuestbookMap.java
==============================
import Guestbook;
public class GuestbookMap(){
public GuestbookMap(){
}
public Guestbook load(int id){
//取到一条guestbook
}
//sqlstr 查询条件
//orderstr 排序条件
//rcdbegin 记录开始
//rcdend 记录结束
//
public ArrayList batchLoad(String sqlstr,String orderstr,int rcdbegin,int rcdend){
//ArrayList 里面封装了Guestbook
}
public void insert(Guestbook info){
}
public void update(Guestbook info){
}
public void delete(int id){
//取到一条guestbook
}
public int getRcdNums(String sqlstr){
//取记录条数
}
}
GuestbookManager.java
根据需要封装需要的方法,这部分才是你要写的
=============================
上面的方式entry,database的文件可以自动生成,这个工具我已经开发了,如果需要联系我。你需要写的就是GuestbookManager里面的方法,你也许会觉得工作量比你所有的操作都在jsp中大,但是这样结构非常清晰。你还需要的就是写一个数据库连接池,你所有的数据库操作都从一个地方取,每一次都去连接数据库开销很大的。
六:技术优势
1:结构清晰
2:维护方便
3:保护代码比较好。
..........
七:结束语
我只是简单的介绍一下,具体的使用你需要在实际运用中积累,如果需要我的代码参看,联系我,如果你觉得写的和狗屎,非常不好意思,浪费了你宝贵的时间。