不少JSP初學者在學會簡單的jsp編程後,往往停留在用jsp裡面的sql語句調一個javabean進行資料庫連接階段,止步不前了。
這個簡單的教程希望能夠有助於初學者學會用oop思想進行jsp編程。
情境:一個簡單的新聞系統,有2-3個資料表構成。
資料庫系統用的是Mysql,當然用其它的也類似。
先看第一個資料表,也是主要的資料表:news
create table news2 (newsid int not null,
userid int,
kwid int, // 關鍵詞外鍵
title varchar(100),
content text,
hits int,
cdate varchar2(30),
mdate varchar2(30),
primary key(newsid));
再插入一個樣本資料:
insert into news2 (newsid, title, content) values (1, 'test title', 'test body');
設計思路:用mvc模式編程,將資料以一個helper class News.java 打包,
並通過NewsDAO.java進行資料庫操作。
設計階段,用UML勾畫出系統的object.
...此處省略
NewsDAO的主要方法有:
1. public News getNewsByPrimaryKey(int newsid);
2. public News[] getRecentNews();
3. public News[] getHotNews();
......
News.java的代碼如下:
package news;
public class News {
private int newsid;
private int userid;
private int kwid;
private int hits;
private String title;
private String content;
private String cdate;
private String mdate;
public News(){ }
public News(int newsid,int userid,int kwid,int hits,String title,String content,String cdate)
{
this.newsid=newsid;
this.userid=userid;
this.kwid=kwid;
this.hits=hits;
this.title=title;
this.content=content;
this.cdate=cdate;
}
public News(int id, String t, String cnt) {
this.newsid = id;
this.title = t;
this.content = cnt;
}
public int getNewsid()
{
return newsid;
}
public void setNewsid(int newsid)
{
this.newsid=newsid;
}
public int getUserid()
{
return userid;
}
public void setUserid(int userid)
{
this.userid=userid;
}
public int getKwid()
{
return kwid;
}
public void setKwid(int kwid)
{
this.kwid=kwid;
}
public int getHits()
{
return hits;
}
public void setHits(int hits)
{
this.hits=hits;
}
public String getTitle()
{
return title;
}
public void setTitle(String title)
{
this.title=title;
}
public String getContent()
{
return content;
}
public void setContent(String content)
{
this.content=content;
}
public String getCdate()
{
return cdate;
}
public void setCdate(String cdate)
{
this.cdate=cdate;
}
}
說明:這個程式可以用作javabean,作為錄入表單的參數攜帶者(params Holder).