package com.zuxia.dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import com.zuxia.model.GoodsInfo;
import com.zuxia.model.GoodsType;
import com.zuxia.model.SalesGoods;
import com.zuxia.util.DBConn;
import com.zuxia.util.PageModel;
/**
* 商品信息数据访问类
*/
public class GoodsInfoDao {
/**
* 查询所有商品信息
* @param pageSize 页面显示数据条数
* @param pageNo 页面编号
* @return 包含所有商品数据的分页对象
*/
public PageModel<GoodsInfo> getAllGoods(int pageSize, int pageNo) {
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
ArrayList<GoodsInfo> goodsList = new ArrayList<GoodsInfo>();
PageModel<GoodsInfo> pm = null;
String sql = "select top "
+ pageSize
+ " a.*,b.typeName from GoodsInfo a inner join GoodsType b on a.typeId = b.typeId where a.goodsId not in (select top "
+ ((pageNo - 1) * pageSize)
+ " goodsId from GoodsInfo order by goodsId desc) order by goodsId desc";
try {
conn = DBConn.getConn();
pstmt = conn.prepareStatement(sql);
// 执行查询
rs = pstmt.executeQuery();
GoodsInfo goods = null;
GoodsType type = null;
while (rs.next()) {
goods = new GoodsInfo();
goods.setGoodsId(rs.getInt("goodsId"));
type = new GoodsType(rs.getInt("typeId"), rs
.getString("typeName"));
goods.setGoodsType(type);
goods.setGoodsName(rs.getString("goodsName"));
goods.setPrice(rs.getDouble("price"));
goods.setDiscount(rs.getFloat("discount"));
goods.setIsNew(rs.getInt("isNew"));
goods.setIsRecommend(rs.getInt("isRecommend"));
goods.setStatus(rs.getInt("status"));
goods.setPhoto(rs.getString("photo"));
goods.setRemark(rs.getString("remark"));
goodsList.add(goods);
}
pm = new PageModel<GoodsInfo>();
pm.setData(goodsList);
pm.setPageNo(pageNo);
pm.setPageSize(pageSize);
pm.setTotalRecords(getTotalRecords(conn, pstmt, rs));
} catch (Exception e) {
e.printStackTrace();
} finally {
DBConn.closeDB(rs, pstmt, conn);
}
return pm;
}
/**
* 获得总记录数
*/
private int getTotalRecords(Connection conn, PreparedStatement pstmt,
ResultSet rs) {
String sql = "select count(*) from GoodsInfo";
int count = 0;
try {
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
if (rs.next()) {
count = rs.getInt(1);
}
} catch (SQLException e) {
e.printStackTrace();
}
return count;
}
/**
* 查询所有商品信息
* @param pageSize 页面显示数据条数
* @param pageNo 页面编号
* @return 包含所有商品数据的分页对象
*/
public PageModel<GoodsInfo> getAllGoods(int pageSize, int pageNo,
String keywords) {
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
ArrayList<GoodsInfo> goodsList = new ArrayList<GoodsInfo>();
PageModel<GoodsInfo> pm = null;
String sql = "select top "
+ pageSize
+ " a.*,b.typeName from GoodsInfo a inner join GoodsType b on a.typeId = b.typeId where a.goodsName like '%"
+ keywords
+ "%' and a.goodsId not in (select top "
+ ((pageNo - 1) * pageSize)
+ " goodsId from GoodsInfo order by goodsId desc) order by goodsId desc";
try {
conn = DBConn.getConn();
pstmt = conn.prepareStatement(sql);
// 执行查询
rs = pstmt.executeQuery();
GoodsInfo goods = null;
GoodsType type = null;
while (rs.next()) {
goods = new GoodsInfo();
goods.setGoodsId(rs.getInt("goodsId"));
type = new GoodsType(rs.getInt("typeId"), rs
.getString("typeName"));
goods.setGoodsType(type);
goods.setGoodsName(rs.getString("goodsName"));
goods.setPrice(rs.getDouble("price"));
goods.setDiscount(rs.getFloat("discount"));
goods.setIsNew(rs.getInt("isNew"));
goods.setIsRecommend(rs.getInt("isRecommend"));
goods.setStatus(rs.getInt("status"));
goods.setPhoto(rs.getString("photo"));
goods.setRemark(rs.getString("remark"));
goodsList.add(goods);
}
pm = new PageModel<GoodsInfo>();
pm.setData(goodsList);
pm.setPageNo(pageNo);
pm.setPageSize(pageSize);
pm.setTotalRecords(getTotalRecordsByKeyWords(conn, pstmt, rs,keywords));
} catch (Exception e) {
e.printStackTrace();
} finally {
DBConn.closeDB(rs, pstmt, conn);
}
return pm;
}
/**
* 获得总记录数
*/
private int getTotalRecordsByKeyWords(Connection conn, PreparedStatement pstmt,
ResultSet rs,String keyWords) {
String sql = "select count(*) from GoodsInfo where goodsName like '%"+keyWords+"%'";
int count = 0;
try {
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
if (rs.next()) {
count = rs.getInt(1);
}
} catch (SQLException e) {
e.printStackTrace();
}
return count;
}
/**
* 根据商品编号获得商品信息
* @param id 商品编号
* @return 商品信息
*/
public GoodsInfo getGoodsInfo(int id) {
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
GoodsInfo goods = null;
String sql = "select a.*,b.typeName from GoodsInfo a inner join GoodsType b on a.typeId = b.typeId where a.goodsId=?";
try {
conn = DBConn.getConn();
pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, id);
// 执行查询
rs = pstmt.executeQuery();
GoodsType type = null;
if (rs.next()) {
goods = new GoodsInfo();
goods.setGoodsId(rs.getInt("goodsId"));
type = new GoodsType(rs.getInt("typeId"), rs
.getString("typeName"));
goods.setGoodsType(type);
goods.setGoodsName(rs.getString("goodsName"));
goods.setPrice(rs.getDouble("price"));
goods.setDiscount(rs.getFloat("discount"));
goods.setIsNew(rs.getInt("isNew"));
goods.setIsRecommend(rs.getInt("isRecommend"));
goods.setStatus(rs.getInt("status"));
goods.setPhoto(rs.getString("photo"));
goods.setRemark(rs.getString("remark"));
}
} catch (Exception e) {
e.printStackTrace();
} finally {
DBConn.closeDB(rs, pstmt, conn);
}
return goods;
}
/**
* 删除
* @param id 编号
* @return
*/
public boolean removeGoods(int id) {
String sql = "delete from GoodsInfo where goodsId=?";
Connection conn = DBConn.getConn();
PreparedStatement pstmt = null;
try {
pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, id);
int rowCount = 0;
rowCount = pstmt.executeUpdate();
if (rowCount > 0) {
return true;
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
DBConn.closeDB(null, pstmt, conn);
}
return false;
}
/**
* 删除多个商品
* @param ids 商品编号
* @return 若删除成功返回true,删除失败返回false
*/
public boolean removeGoods(String ids) {
StringBuilder sb = new StringBuilder(
"delete from GoodsInfo where goodsId in (");
sb.append(ids.substring(0, ids.length() - 1));
sb.append(")");
Connection conn = DBConn.getConn();
PreparedStatement pstmt = null;
try {
pstmt = conn.prepareStatement(sb.toString());
// pstmt.setInt(1, id);
int rowCount = 0;
rowCount = pstmt.executeUpdate();
if (rowCount > 0) {
return true;
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
DBConn.closeDB(null, pstmt, conn);
}
return false;
}
/**
* 修改商品信息
* @param goods 商品信息
* @return 修改成功(true)或修改失败(false)
*/
public boolean updateGoods(GoodsInfo goods){
String sql = "update GoodsInfo set typeId=?,goodsName=?,price=?,discount=?,isNew=?,isRecommend=?,status=?,photo=?,remark=? where goodsId = ?";
Connection c
没有合适的资源?快使用搜索试试~ 我知道了~
购物网站源代码+数据库SQL语句
共279个文件
jpg:88个
gif:53个
jsp:36个
3星 · 超过75%的资源 需积分: 34 26 下载量 94 浏览量
2012-02-29
17:32:36
上传
评论
收藏 2.04MB ZIP 举报
温馨提示
一个普通的购物网站,使用JSP+Serverlet+MSSQLSERVER数据库。 包括源代码和数据库的SQL语句
资源推荐
资源详情
资源评论
收起资源包目录
购物网站源代码+数据库SQL语句 (279个子文件)
GoodsInfoDao.class 13KB
OrderInfoDao.class 12KB
CustomerInfoDao.class 11KB
BulletinDao.class 8KB
GoodsTypeDao.class 8KB
GoodsManage.class 7KB
BulletinManage.class 6KB
GoodsTypeManage.class 5KB
CustomerManage.class 5KB
CustomerForwardManage.class 5KB
OrderManage.class 5KB
SystemManage.class 4KB
PayManage.class 4KB
CartManage.class 4KB
UserInfoDao.class 3KB
GoodsInfo.class 3KB
Cart.class 3KB
PageModel.class 2KB
StringUtil.class 2KB
OrderInfo.class 2KB
DBConn.class 2KB
CustomerInfo.class 2KB
CustomerDetailInfo.class 1KB
BulletinInfo.class 1KB
AjaxGetIsEmailExists.class 1KB
GoodsType.class 1KB
DateTimeUtil.class 1KB
OrderGoodsInfo.class 1KB
UserInfo.class 1KB
SalesGoods.class 982B
.classpath 432B
org.eclipse.wst.jsdt.ui.superType.container 49B
common.css 738B
data_manage.css 615B
add_skin.css 468B
common.css 357B
Thumbs.db 272KB
Thumbs.db 108KB
logo_ico.gif 43KB
kefu.gif 17KB
product.gif 16KB
welcome_2.gif 16KB
login_div_bg.gif 15KB
specilproduct2.gif 9KB
newproduct5.gif 7KB
logo.gif 6KB
login_register.gif 6KB
topten2.gif 6KB
error.gif 6KB
btn_register.gif 5KB
login_logo.gif 5KB
register_logo.gif 4KB
logo.gif 4KB
recommend2.gif 4KB
btn_login.gif 3KB
buycart_logo.gif 3KB
kefu_tel.gif 3KB
login.gif 3KB
jrjs.gif 2KB
sideBoxTop.gif 2KB
best.gif 2KB
jxgm.gif 2KB
addtocart.gif 2KB
sideBoxTitle.gif 1KB
peisong_logo.gif 1KB
gonggao.gif 1KB
site_ico.gif 1KB
open_left.gif 1KB
head_top.gif 1021B
close_left.gif 972B
title_ico.gif 740B
shoucang.gif 592B
loginOut.gif 577B
btn_search.gif 507B
search_ico.gif 366B
order.gif 319B
nav_line.gif 313B
login_border_y.gif 272B
border_bg.gif 260B
register_div_line.gif 246B
dot.gif 245B
help.gif 215B
user_info.gif 183B
border.gif 175B
item.gif 173B
bg.gif 154B
border_bg.gif 152B
cart.gif 141B
doc_red.gif 107B
home.gif 80B
doc.gif 76B
sqljdbc.jar 247KB
GoodsInfoDao.java 16KB
OrderInfoDao.java 14KB
CustomerInfoDao.java 13KB
GoodsTypeDao.java 9KB
BulletinDao.java 9KB
GoodsManage.java 8KB
BulletinManage.java 6KB
GoodsTypeManage.java 5KB
共 279 条
- 1
- 2
- 3
资源评论
- bobo5118175352014-02-20错误有点多,但是值得一看
- glory10002012-11-21真心不好用···
- bluewindbluewind2012-11-12使用JSP+Serverlet+MSSQLSERVER数据库很有参考价值
liucccggg
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功