目录
1 概述
本系统是为网上交易提供的一个需求平台,买卖双方可以在网上拍卖网站上找到自己所需要的东西,也可以将自己不用的东西进行出售。网上拍卖系统的产生既可以让买卖双方方便理财,又能催进节约,符合当代节约社会的需要。传统的交易模式无法适应当代社会的的需要,所以建立一个网上拍卖交易平台是很有必要的,这样即能提高商品的重复利用率,减轻环境负担,又能促进社会的和谐发展。
选用jsp+servlet+javabean技术为基础[在后续的文章中讲解如何使用SSM(Spring+SpringMVC+MyBatis)来开发拍卖网站],MYSQL作为数据库平台,采用结构化开发方法,设计并完成了基于B/S模型的网上拍卖交易平台。
系统七个功能模块:管理员管理、商品信息管理、用户信息管理、公告管理、搜索信息、用户信誉度管理、论坛信息,并详细阐述了各个模块的设计和实现过程。
关键词:网上拍卖,B/S模式,JavaWeb,J2EE,SSM,MySQL数据库
2 效果
3 数据表十个
管理员表
字段名 | 字段说明 | 数据类型 | 字段长度 | 是否为空 | 约束类型 |
ID | 管理员编号 | Int(4) | 4 | Not Null | 主键 |
manager | 管理员用户名 | Varchar(30) | 30 | Not Null | |
PWD | 管理员密码 | Varchar(30) | 30 | Not Null |
用户表
字段名 | 字段说明 | 数据类型 | 字段长度 | 是否为空 | 约束类型 |
ID | 用户编号 | int(4) | 4 | Not Null | 主键 |
userName | 用户名 | Varchar(20) | 20 | Not Null | |
trueName | 真实名 | Varchar(20) | 20 | Not Null | |
passWord | 密码 | Varchar(20) | 20 | Not Null | |
city | 城市 | Varchar(20) | 20 | ||
address | 地址 | Varchar(100) | 100 | Not Null | |
postcode | 邮编 | Varchar(6) | 6 | Not Null | |
cardNO | 证件号码 | Varchar(24) | 24 | Not Null | |
cardType | 证件类型 | Varchar(20) | 20 | Not Null | |
Amount | 交易金额 | Money(4) | 4 | ||
tel | 电话 | Varchar(20) | 20 | Not Null | |
| 邮箱 | Varchar(100) | 100 | Not Null | |
freeze | 是否冻结 | Int(4) | 4 | ||
score | 信誉值 | Int(4) | 4 |
拍卖商品信息表
字段名 | 字段说明 | 数据类型 | 字段长度 | 是否为空 | 约束类型 |
pmgoodsid | 拍卖商品编号 | Int(4) | 4 | Not Null | 主键 |
goodsname | 商品名称 | Varchar(200) | 200 | Not Null | |
bz | 备注 | Varchar(200) | 200 | Not Null | |
price | 价格 | Int(4) | 4 | Not Null | |
mid | 用户编号 | Int(4) | 4 | Not Null | |
picture | 图片 | Varchar(50) | 50 | Not Null | |
bdj | 成交价格 | Int(4) | 4 | Not Null | |
jssj | 拍买时间 | Varchar(50) | 50 | Not Null | |
zt | 状态 | Int(4) | 50 | Not Null | |
typeID | 子类编号 | Int(4) | 4 | Not Null | |
superTypeID | 父类编号 | Int(4) | 4 | Not Null |
用户拍买商品表
字段名 | 字段说明 | 数据类型 | 字段长度 | 是否为空 | 约束类型 |
ID | 拍买商品编号 | Int(4) | 4 | Not Null | 主键 |
menid | 发布人编号 | Int(4) | 30 | Not Null | |
pmgoodsid | 拍买商品编号 | Int(4) | 30 | Not Null | |
buyprice | 竞拍价格 | Int(4) | 4 | Not Null | |
amount | 数量 | Int(4) | 4 | Not Null | |
ok | 竞拍状态 | Varchar(50) | 50 | Not Null | |
hjsj | 时间 | Varchar(50) | 50 | Not Null | |
ispj | 是否评价 | Varchar(1) | 1 | Not Null |
公告信息表
字段名 | 字段说明 | 数据类型 | 字段长度 | 是否为空 | 约束类型 |
ID | 编号 | Int(4) | 4 | Not Null | 主键 |
title | 标题 | Varchar(100) | 30 | Not Null | |
content | 内容 | Varchar(4000) | 4000 | Not Null | |
INTime | 时间 | datetime | 8 | Not Null |
帖子信息表
字段名 | 字段说明 | 数据类型 | 字段长度 | 是否为空 | 约束类型 |
ID | 编号 | Int(4) | 4 | Not Null | 主键 |
htcontent | 内容 | TEXT | 16 | Not Null | |
userId | 发布人ID | Int(4) | 4 | Not Null | |
time | 时间 | datetime | 8 | Not Null | |
tzId | 通知编号 | Int(4) | 4 | Not Null |
论坛模块表
字段名 | 字段说明 | 数据类型 | 字段长度 | 是否为空 | 约束类型 |
moduleid | 编号 | Int(4) | 4 | Not Null | 主键 |
modulename | 内容 | Varchar(50) | 50 | Not Null | |
userId | 发布人ID | Int(4) | 4 | Not Null |
用户回复贴息信息表
字段名 | 字段说明 | 数据类型 | 字段长度 | 是否为空 | 约束类型 |
tzid | 编号 | Int(4) | 4 | Not Null | 主键 |
tztitle | 标题 | Varchar(50) | 50 | Not Null | |
userId | 发布人ID | Int(4) | 4 | Not Null | |
tzcontent | 内容 | text | 16 | Not Null | |
tztime | 时间 | Varchar(50) | 50 | Not Null | |
tztype | 类型 | Int(4) | 4 | Not Null |
父类别信息表
字段名 | 字段说明 | 数据类型 | 字段长度 | 是否为空 | 约束类型 |
ID | 编号 | Int(4) | 4 | Not Null | 主键 |
TypeName | 类别名称 | Varchar(50) | 50 | Not Null |
子类别信息表
字段名 | 字段说明 | 数据类型 | 字段长度 | 是否为空 | 约束类型 |
ID | 编号 | Int(4) | 4 | Not Null | 主键 |
superType | 父类别 | Int(4) | 4 | Not Null | |
TypeName | 类别名称 | Varchar(50) | Not Null |
4 代码实现过程
5 主要代码
5.1 用户相关代码
package dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import bean.member;
import sqlbean.SQL_Bean;
public class memberDAO {
private Connection con;
private PreparedStatement sta;
private ResultSet rs;
public List findMemberAll() {
List l = new ArrayList();
String sql = "select id,username,truename,city,tel,email,amount,freeze,score from tb_member order by id";
try {
con = new SQL_Bean().getConnection();
sta = con.prepareStatement(sql);
rs = sta.executeQuery();
while (rs.next()) {
member mb = new member();
mb.setId(rs.getInt(1));
mb.setUsername(rs.getString(2));
mb.setTruename(rs.getString(3));
mb.setCity(rs.getString(4));
mb.setTel(rs.getString(5));
mb.setEmail(rs.getString(6));
mb.setAmount(rs.getDouble(7));
mb.setFreeze(rs.getInt(8));
mb.setScore(rs.getInt(9));
l.add(mb);
}
rs.close();
sta.close();
con.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return l;
}
public member findMemberById(int id) {
member mb = null;
String sql = "select id,username,truename,city,address,postcode,cardno,cardtype,tel,email,amount,score from tb_member where id=?";
try {
con = new SQL_Bean().getConnection();
sta = con.prepareStatement(sql);
sta.setInt(1, id);
rs = sta.executeQuery();
if (rs.next()) {
mb = new member();
mb.setId(rs.getInt(1));
mb.setUsername(rs.getString(2));
mb.setTruename(rs.getString(3));
mb.setCity(rs.getString(4));
mb.setAddress(rs.getString(5));
mb.setPostcode(rs.getString(6));
mb.setCardno(rs.getString(7));
mb.setCardtype(rs.getString(8));
mb.setTel(rs.getString(9));
mb.setEmail(rs.getString(10));
mb.setAmount(rs.getDouble(11));
mb.setScore(rs.getInt(12));
}
rs.close();
sta.close();
con.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return mb;
}
public member findScoreBygoodsId(int id) {
member mb = null;
String sql = "select tb_member.score,tb_member.ID from pmgoods,tb_member,buygoodsinfo where buygoodsinfo.pmgoodsid = pmgoods. pmgoodsid and pmgoods.mid = tb_member.ID and buygoodsinfo.pmgoodsid=?";
try {
con = new SQL_Bean().getConnection();
sta = con.prepareStatement(sql);
sta.setInt(1, id);
rs = sta.executeQuery();
if (rs.next()) {
mb = new member();
mb.setScore(rs.getInt(1));
mb.setId(rs.getInt(2));
}
rs.close();
sta.close();
con.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return mb;
}
//冻结用户 (合法用户为0 冻结为1)
public int freezeMember(int id) {
int i = 0;
String sql = "update tb_member set freeze=1 where id=?";
try {
con = new SQL_Bean().getConnection();
sta = con.prepareStatement(sql);
sta.setInt(1, id);
i = sta.executeUpdate();
sta.close();
con.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return i;
}
//用户解冻
public int thawMember(int id) {
int i = 0;
String sql = "update tb_member set freeze=0 where id=?";
try {
con = new SQL_Bean().getConnection();
sta = con.prepareStatement(sql);
sta.setInt(1, id);
i = sta.executeUpdate();
sta.close();
con.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return i;
}
//登陆时候调用这个方法 在数据库中查找用户名 和密码 与用户填写的进行对照
public member findMemberByUser(String username, String password) {
member mb = null;
String sql = "select id,username,truename,city,address,postcode,cardno,cardtype,tel,email,amount,password,score from tb_member where username=? and password=? and freeze=0";
try {
con = new SQL_Bean().getConnection();
sta = con.prepareStatement(sql);
sta.setString(1, username);
sta.setString(2, password);
rs = sta.executeQuery();
if (rs.next()) {
mb = new member();
mb.setId(rs.getInt(1));
mb.setUsername(rs.getString(2));
mb.setTruename(rs.getString(3));
mb.setCity(rs.getString(4));
mb.setAddress(rs.getString(5));
mb.setPostcode(rs.getString(6));
mb.setCardno(rs.getString(7));
mb.setCardtype(rs.getString(8));
mb.setTel(rs.getString(9));
mb.setEmail(rs.getString(10));
mb.setAmount(rs.getDouble(11));
mb.setPassword(rs.getString(12));
mb.setScore(rs.getInt(13));
}
rs.close();
sta.close();
con.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return mb;
}
//用户注册页面 信息填写完整的话 i变为1
//如果信息填写不完整i仍然为0 需要重新填写
public int insertMember(member m) {
int i = 0;
String sql = "insert into tb_member(username,truename,password,city,address,postcode,cardno,cardtype,tel,email) values(?,?,?,?,?,?,?,?,?,?)";
try {
con = new SQL_Bean().getConnection();
sta = con.prepareStatement(sql);
sta.setString(1, m.getUsername());
sta.setString(2, m.getTruename());
sta.setString(3, m.getPassword());
sta.setString(4, m.getCity());
sta.setString(5, m.getAddress());
sta.setString(6, m.getPostcode());
sta.setString(7, m.getCardno());
sta.setString(8, m.getCardtype());
sta.setString(9, m.getTel());
sta.setString(10, m.getEmail());
i = sta.executeUpdate();
sta.close();
con.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return i;
}
//用户信息更新 信息填写完整为1 未填写完整为0
//提示用户重新填写用户信息
public int updateMember(member m) {
int i = 0;
String sql = "update tb_member set truename=?,password=?,city=?,address=?,postcode=?,cardno=?,cardtype=?,tel=?,email=? where id=? and username=? and password=?";
try {
con = new SQL_Bean().getConnection();
sta = con.prepareStatement(sql);
sta.setString(1, m.getTruename());
sta.setString(2, m.getPassword());
sta.setString(3, m.getCity());
sta.setString(4, m.getAddress());
sta.setString(5, m.getPostcode());
sta.setString(6, m.getCardno());
sta.setString(7, m.getCardtype());
sta.setString(8, m.getTel());
sta.setString(9, m.getEmail());
sta.setInt(10, m.getId());
sta.setString(11, m.getUsername());
sta.setString(12, m.getOldpassword());
i = sta.executeUpdate();
sta.close();
con.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return i;
}
//更新用户交易金额
public int updateAmount(double price, int id) {
int i = 0;
String sql = "update tb_member set amount=amount+? where id=?";
try {
con = new SQL_Bean().getConnection();
sta = con.prepareStatement(sql);
sta.setDouble(1, price);
sta.setInt(2, id);
i = sta.executeUpdate();
sta.close();
con.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return i;
}
public int updateScore(int score, int id) {
System.out.print(score + "\t" + id);
int i = 0;
String sql = "update tb_member set score=? where id=?";
try {
con = new SQL_Bean().getConnection();
sta = con.prepareStatement(sql);
sta.setDouble(1, score);
sta.setInt(2, id);
i = sta.executeUpdate();
sta.close();
con.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return i;
}
//用户上传商品信息后 ispj=1 表示没有评价 当拍卖状态变为交易完成后 评价变为0
public int updateStatus(int id) {
int i = 0;
String sql = "update buygoodsinfo set ispj=1 where pmgoodsid=?";
try {
con = new SQL_Bean().getConnection();
sta = con.prepareStatement(sql);
sta.setInt(1, id);
i = sta.executeUpdate();
sta.close();
con.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return i;
}
//查询信誉前10显示到前台
public List findmemTen(){
List l=new ArrayList();
String sql="select * from tb_member order by score desc limit 0,10";
try {
con=new SQL_Bean().getConnection();
sta=con.prepareStatement(sql);
rs=sta.executeQuery();
while(rs.next()){
member b = new member();
b.setId(rs.getInt("id"));
b.setUsername(rs.getString("userName"));
b.setScore(rs.getInt("score"));
l.add(b);
}
rs.close();
sta.close();
con.close();
} catch (SQLException e) {
// TODO
e.printStackTrace();
} catch (Exception e) {
// TODO
e.printStackTrace();
}
return l;
}
}
5.2 数据库连接代码
package sqlbean;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class SQL_Bean{
//private String url = "jdbc:sqlserver://localhost:1433;DatabaseName=db_shop";
private Connection connection = null;
public SQL_Bean() throws Exception {
//sql
//Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Class.forName("com.mysql.jdbc.Driver");
}
public Connection getConnection() throws SQLException {
setConnection();
return connection;
}
public void setConnection() throws SQLException {
String password = "root";//这里修改数据库密码 // 这里修改数据库密码
this.connection = DriverManager.getConnection("jdbc:mysql://localhost/db_shop?useUnicode=true&characterEncoding=utf-8","root",password);
}
}
5.3 论坛发贴代码
package dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import sqlbean.SQL_Bean;
import bean.bbsht;
import bean.bbsmodule;
import bean.bbstz;
import bean.member;
public class bbsDAO {
private Connection con;
private PreparedStatement sta;
private ResultSet rs;
//添加模块
public int addmodule(bbsmodule b){
int i=0;
String sql="insert into tb_bbsmodule (modulename,userid) values(?,?)";
try {
con=new SQL_Bean().getConnection();
sta=con.prepareStatement(sql);
sta.setString(1,b.getModulename());//
sta.setInt(2,b.getMem().getId());//
i=sta.executeUpdate();
sta.close();
con.close();
} catch (SQLException e) {
// TODO
e.printStackTrace();
} catch (Exception e) {
// TODO
e.printStackTrace();
}
return i;
}
//发帖
public int addtz(bbstz bz){
int i=0;
String sql="insert into tb_bbstz(tztitle,userid,tzcontent,tztime,tztype) values(?,?,?,?,?)";
try {
con=new SQL_Bean().getConnection();
sta=con.prepareStatement(sql);
sta.setString(1,bz.getTztitle());//
sta.setInt(2,bz.getUserId());//
sta.setString(3,bz.getTzcontent());
sta.setString(4, bz.getTztime());
sta.setInt(5, bz.getTypeId());
i=sta.executeUpdate();
sta.close();
con.close();
} catch (SQLException e) {
// TODO
e.printStackTrace();
} catch (Exception e) {
// TODO
e.printStackTrace();
}
return i;
}
//回帖
public int addht(bbsht bz){
int i=0;
String sql="insert into tb_bbsht (htcontent,userid,time,tzid) values(?,?,?,?)";
try {
con=new SQL_Bean().getConnection();
sta=con.prepareStatement(sql);
sta.setString(1,bz.getHtcontent());//
sta.setInt(2,bz.getUserId());//
sta.setString(3,bz.getTime());
sta.setInt(4, bz.getTzId());
i=sta.executeUpdate();
sta.close();
con.close();
} catch (SQLException e) {
// TODO
e.printStackTrace();
} catch (Exception e) {
// TODO
e.printStackTrace();
}
return i;
}
//获得所有模块
public List findAllModule(int cpage,int ipage){
List l=new ArrayList();
String sql="select * from tb_bbsmodule ";
sql+=" where moduleid not in(select t.moduleid from (select moduleid";
sql+=" from tb_bbsmodule order by moduleid desc limit 0,"+(cpage-1)*ipage+") as t)";
sql+=" order by moduleid desc limit 0,"+ipage+"";
try {
con=new SQL_Bean().getConnection();
sta=con.prepareStatement(sql);
rs=sta.executeQuery();
while(rs.next()){
bbsmodule bbsm = new bbsmodule();
bbsm.setModuleid(rs.getInt("moduleid"));
bbsm.setModulename(rs.getString("modulename"));
memberDAO mbean=new memberDAO();
member mm = mbean.findMemberById(rs.getInt("userId"));
bbsm.setMem(mm);
l.add(bbsm);
}
rs.close();
sta.close();
con.close();
} catch (SQLException e) {
// TODO
e.printStackTrace();
} catch (Exception e) {
// TODO
e.printStackTrace();
}
return l;
}
public List getModuleList(){
List list=new ArrayList();
String sql="select * from tb_bbsmodule";
try {
con=new SQL_Bean().getConnection();
sta=con.prepareStatement(sql);
rs=sta.executeQuery();
while(rs.next()){
bbsmodule bbsm = new bbsmodule();
bbsm.setModuleid(rs.getInt("moduleid"));
bbsm.setModulename(rs.getString("modulename"));
list.add(bbsm);
}rs.close();
sta.close();
con.close();
} catch (SQLException e) {
// TODO
e.printStackTrace();
} catch (Exception e) {
// TODO
e.printStackTrace();
}
return list;
}
//得到模块数
public int getCount()
{
int count=0;
String sql="select count(*) from tb_bbsmodule";
try {
SQL_Bean bean = new SQL_Bean();
con = bean.getConnection();
sta = con.prepareStatement(sql);
rs = sta.executeQuery();
if(rs.next())
{
count = rs.getInt(1);
}
rs.close();
sta.close();
con.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return count;
}
//删除模块
public int delete(int id){
int i=0;
String sql="delete from tb_bbsmodule where moduleid=?";
try {
con=new SQL_Bean().getConnection();
sta=con.prepareStatement(sql);
sta.setInt(1,id);
i=sta.executeUpdate();
sta.close();
con.close();
} catch (SQLException e) {
// TODO
e.printStackTrace();
} catch (Exception e) {
// TODO
e.printStackTrace();
}
return i;
}
//删除帖子
public int deletetz(int id){
int i=0;
String sql="delete from tb_bbstz where tzid=?";
try {
con=new SQL_Bean().getConnection();
sta=con.prepareStatement(sql);
sta.setInt(1,id);
i=sta.executeUpdate();
sta.close();
con.close();
} catch (SQLException e) {
// TODO
e.printStackTrace();
} catch (Exception e) {
// TODO
e.printStackTrace();
}
return i;
}
//删除模块下的帖子
public int deletetzbymoduleId(int id){
int i=0;
String sql="delete from tb_bbstz where tztype=?";
try {
con=new SQL_Bean().getConnection();
sta=con.prepareStatement(sql);
sta.setInt(1,id);
i=sta.executeUpdate();
sta.close();
con.close();
} catch (SQLException e) {
// TODO
e.printStackTrace();
} catch (Exception e) {
// TODO
e.printStackTrace();
}
return i;
}
//前台论坛
//查询所有帖子
public List findAllTZ(int cpage,int ipage){
List l=new ArrayList();
String sql="select * from view_tz_type ";
sql+=" where tzid not in(select t.tzid from (select tzid";
sql+=" from view_tz_type order by tzid desc limit 0,"+(cpage-1)*ipage+") as t)";
sql+=" order by tzid desc limit 0,"+ipage+" ";
try {
con=new SQL_Bean().getConnection();
sta=con.prepareStatement(sql);
rs=sta.executeQuery();
while(rs.next()){
bbstz bz = new bbstz();
bz.setTypename(rs.getString("modulename"));
bz.setTypeId(rs.getInt("moduleid"));
bz.setTzid(rs.getInt("tzid"));
bz.setTztitle(rs.getString("tztitle"));
int userId= rs.getInt("userId");
bz.setUserId(userId);
member mm = new memberDAO().findMemberById(userId);
bz.setTzcontent(rs.getString("tzcontent"));
bz.setTztime(rs.getString("tztime"));
bz.setUsername(mm.getUsername());
bz.setMem(mm);
l.add(bz);
}
rs.close();
sta.close();
con.close();
} catch (SQLException e) {
// TODO
e.printStackTrace();
} catch (Exception e) {
// TODO
e.printStackTrace();
}
return l;
}
//根据id查询
public bbstz findtzById(int id){
bbstz b=null;
String sql="select * from tb_bbstz where tzid=?";
try {
con=new SQL_Bean().getConnection();
sta=con.prepareStatement(sql);
sta.setInt(1,id);
rs=sta.executeQuery();
if(rs.next()){
b=new bbstz();
memberDAO mdao = new memberDAO();
b.setTzid(rs.getInt("tzid"));
b.setTztitle(rs.getString("tztitle"));
member mm = mdao.findMemberById(rs.getInt("userId"));
b.setUsername(mm.getUsername());
b.setTzcontent(rs.getString("tzcontent"));
b.setTztime(rs.getString("tztime"));
}
rs.close();
sta.close();
con.close();
} catch (SQLException e) {
// TODO ?????? catch ??
e.printStackTrace();
} catch (Exception e) {
// TODO ?????? catch ??
e.printStackTrace();
}
return b;
}
//查询记录条数
public int getCount2()
{
int count=0;
String sql="select count(*) from tb_bbstz";
try {
SQL_Bean bean = new SQL_Bean();
con = bean.getConnection();
sta = con.prepareStatement(sql);
rs = sta.executeQuery();
if(rs.next())
{
count = rs.getInt(1);
}
rs.close();
sta.close();
con.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return count;
}
//查询所有回贴
public List findAllHT(int cpage,int ipage,int id){
List l=new ArrayList();
System.out.println(id);
String sql="select * from tb_bbsht where 1=1 and tzId="+id;
sql+=" and id not in(select t.id from (select id";
sql+=" from tb_bbsht order by id desc limit 0, "+(cpage-1)*ipage+") as t)";
sql+=" order by id desc limit 0,"+ipage+" ";
System.out.println(sql);
try {
con=new SQL_Bean().getConnection();
sta=con.prepareStatement(sql);
rs=sta.executeQuery();
while(rs.next()){
bbsht bz = new bbsht();
//bz.setTztitle(rs.getString("tztitle"));
bz.setHtcontent(rs.getString("htcontent"));
memberDAO mbean=new memberDAO();
member mm = mbean.findMemberById(rs.getInt("userId"));
bz.setUsername(mm.getUsername());
bz.setTime(rs.getString("time"));;
l.add(bz);
}
rs.close();
sta.close();
con.close();
} catch (SQLException e) {
// TODO
e.printStackTrace();
} catch (Exception e) {
// TODO
e.printStackTrace();
}
return l;
}
public int getCount3(int id)
{
int count=0;
String sql="select count(*) from tb_bbsht where tzid=?";
try {
SQL_Bean bean = new SQL_Bean();
con = bean.getConnection();
sta = con.prepareStatement(sql);
sta.setInt(1, id);
rs = sta.executeQuery();
if(rs.next())
{
count = rs.getInt(1);
}
rs.close();
sta.close();
con.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return count;
}
//获取用户发帖数
public int getCount4(int id)
{
int count=0;
String sql="select count(*) from tb_bbstz where userId=?";
try {
SQL_Bean bean = new SQL_Bean();
con = bean.getConnection();
sta = con.prepareStatement(sql);
sta.setInt(1, id);
rs = sta.executeQuery();
if(rs.next())
{
count = rs.getInt(1);
}
rs.close();
sta.close();
con.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return count;
}
}