package com.bookshop.dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import javax.naming.NamingException;
import com.bookshop.db.DBTools;
import com.bookshop.entity.BookInfo;
import com.bookshop.idao.BookIDAO;
public class BookDAO implements BookIDAO {
private Connection conn = null;
private PreparedStatement ps = null;
private ResultSet rs = null;
DBTools dbTools = new DBTools();
/**
* 搜索书籍时通过类别,关键字,通过pageSize得到总页数
* @param category
* @param keyWord
* @param pageSize
* @return
*/
public int getPageCountByCategoryAndKeyWord(int category,String keyWord,int pageSize){
int pageCount = 0;
String sql = "select count(*) from tb_bookinfo where category_id=? and book_name like '%"
+ keyWord + "%'";
try {
conn = dbTools.getConn();
ps = conn.prepareStatement(sql);
ps.setInt(1, category);
rs = ps.executeQuery();
while(rs.next()){
int rowCount = rs.getInt(1);
if(rowCount%pageSize == 0){
pageCount = rowCount/pageSize;
}else{
pageCount = rowCount/pageSize+1;
}
}
} catch (NamingException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}finally{
try {
dbTools.closeResource();
} catch (SQLException e) {
e.printStackTrace();
}
}
return pageCount;
}
/**
* 查询新书,打折书,畅销书时通过PageSize来确定分页总数
* @param isNewBook
* @param isSellWell
* @param isCutPrice
* @param pageSize
* @return
*/
public int getPageCountByIsSellWellOrIsCutPriceOrIsNewBook(String isNewBook,
String isSellWell, String isCutPrice, int pageSize ){
int pageCount = 0;
int condition = 0;
String sql = "";
if(isNewBook != null){
condition = Integer.parseInt(isNewBook);
sql = "select count(*) from tb_bookinfo where is_newbook=?";
}else if(isSellWell != null){
condition = Integer.parseInt(isSellWell);
sql = "select count(*) from tb_bookinfo where is_sellwell=?";
}else if(isCutPrice != null){
condition = Integer.parseInt(isCutPrice);
sql = "select count(*) from tb_bookinfo where is_cutprice=?";
}
try {
conn = dbTools.getConn();
ps = conn.prepareStatement(sql);
ps.setInt(1, condition);
rs = ps.executeQuery();
while(rs.next()){
int rowCount = rs.getInt(1);
if(rowCount%pageSize == 0){
pageCount = rowCount / pageSize;
}else{
pageCount = rowCount / pageSize + 1;
}
}
} catch (NamingException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}finally{
try {
dbTools.closeResource();
} catch (SQLException e) {
e.printStackTrace();
}
}
return pageCount;
}
/**
* 通过给出的条件查询出需要的书籍
*
* @see com.bookshop.idao.BookIDAO#find(int, java.lang.String)
*/
public ArrayList<BookInfo> find(int category, String keyWord ,int pageNow ,int pageSize) {
ArrayList<BookInfo> bookInfoList = new ArrayList<BookInfo>();
String sql = "select * from tb_bookinfo where category_id=? and book_name like '%"
+ keyWord + "%' limit ?,?";
try {
conn = dbTools.getConn();
ps = conn.prepareStatement(sql);
ps.setInt(1, category);
ps.setInt(2, (pageNow-1)*pageSize);
ps.setInt(3, pageSize);
rs = ps.executeQuery();
while (rs.next()) {
BookInfo bookInfo = new BookInfo();
bookInfo = putResultIntoBookInfo(rs);
bookInfoList.add(bookInfo);
}
} catch (NamingException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
dbTools.closeResource();
} catch (SQLException e) {
e.printStackTrace();
}
}
return bookInfoList;
}
/**
* 添加一本新书
*/
public boolean addBook(BookInfo bookInfo) {
boolean flag = false;
try {
conn = dbTools.getConn();
String sql = "insert into tb_bookinfo(book_name,auth_name,category_id,publish,"
+ "ISBN,imag,price,vipprice,number,is_newbook,"
+ "is_sellwell,is_cutprice,description) values(?,?,?,?,?,?,?,?,?,?,?,?,?)";
ps = conn.prepareStatement(sql);
ps.setString(1, bookInfo.getBookName());
ps.setString(2, bookInfo.getAuthName());
ps.setInt(3, bookInfo.getCategoryId());
ps.setString(4, bookInfo.getPublish());
ps.setString(5, bookInfo.getISBN());
ps.setString(6, bookInfo.getImag());
ps.setFloat(7, bookInfo.getPrice());
ps.setFloat(8, bookInfo.getVipPrice());
ps.setInt(9, bookInfo.getStorage());
ps.setInt(10, bookInfo.getIsNewBook());
ps.setInt(11, bookInfo.getIsSellWell());
ps.setInt(12, bookInfo.getIsCutPrice());
ps.setString(13, bookInfo.getDescribe());
int result = ps.executeUpdate();
if (result == 1) {
flag = true;
}
} catch (NamingException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
dbTools.closeResource();
} catch (SQLException e) {
e.printStackTrace();
}
}
return flag;
}
/**
* 查询所有的书籍
*
* @return
*/
public ArrayList<BookInfo> findAll() {
ArrayList<BookInfo> bookInfoList = new ArrayList<BookInfo>();
try {
conn = dbTools.getConn();
ps = conn.prepareStatement("select * from tb_bookinfo");
rs = ps.executeQuery();
while (rs.next()) {
BookInfo bookInfo = new BookInfo();
bookInfo = putResultIntoBookInfo(rs);
bookInfoList.add(bookInfo);
}
} catch (NamingException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
dbTools.closeResource();
} catch (SQLException e) {
e.printStackTrace();
}
}
return bookInfoList;
}
public ArrayList<BookInfo> findByPageSize(int pageNow, int pageSize) {
ArrayList<BookInfo> bookInfoList = new ArrayList<BookInfo>();
try {
conn = dbTools.getConn();
ps = conn
.prepareStatement("select * from tb_bookinfo order by book_id desc limit ?,?");
ps.setInt(1, (pageNow - 1) * pageSize);
ps.setInt(2, pageSize);
rs = ps.executeQuery();
while (rs.next()) {
BookInfo bookInfo = new BookInfo();
bookInfo = putResultIntoBookInfo(rs);
bookInfoList.add(bookInfo);
}
} catch (NamingException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
dbTools.closeResource();
} catch (SQLException e) {
e.printStackTrace();
}
}
return bookInfoList;
}
/**
* 通过id查询书籍信息
*/
public BookInfo findByBookId(int bookId) {
BookInfo bookInfo = new BookInfo();
String sql = "select * from tb_bookinfo where book_id=?";
try {
conn = dbTools.getConn();
ps = conn.prepareStatement(sql);
ps.setInt(1, bookId);
rs = ps.executeQuery();
while (rs.next()) {
bookInfo = putResultIntoBookInfo(rs);
}
} catch (NamingException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return bookInfo;
}
/**
* 修改书本信息
*/
public boolean modifyBookInfo(BookInfo bookInfo) {
boolean flag = false;
String sql = "update tb_bookinfo set category_id=?,price=?,vipprice=?,number=?,is_newbook=?,is_sellwell=?,is_cutprice=? where book_id=?";
try {
conn = dbTools.getConn();
ps = conn.prepareStatement(sql);
ps.setInt(1, bookInfo.getCategoryId());
ps.setFloat(2, bookInfo.getPrice());
ps.setFloat(3, bookInfo.getVipPrice());
ps.setInt(4, bookInfo.getStorage());
ps.setInt(5, bookInfo.getIsNewBook());
ps.setInt(6, bookInfo.getIsSellWell());
ps.setInt(7, bookInfo.getIsCutPrice());
ps.setInt(8, bookInfo.getBookId());
int result = ps.executeUpdate();
if (result == 1) {
flag = true;
}
} c
没有合适的资源?快使用搜索试试~ 我知道了~
基于JSP的网上图书销售系统
共836个文件
js:350个
gif:125个
png:78个
4星 · 超过85%的资源 需积分: 50 137 下载量 53 浏览量
2011-10-10
15:47:06
上传
评论 7
收藏 3.28MB RAR 举报
温馨提示
网站采用JSP技术进行设计和开发,并通过使用MySQL数据库来对数据进行管理,主要以MyEclipse作为开发工具,项目运行的服务器是Tomcat 6.0。网站主要模块包括前台和后台管理模块,前台包括:商城简介、书籍展示、用户登陆、用户注册、书籍查询、发表评论、购买书籍、下订单等模块;后台包括:管理员登陆、书籍管理、新闻管理、评论管理等模块
资源推荐
资源详情
资源评论
收起资源包目录
基于JSP的网上图书销售系统 (836个子文件)
ckeditor.asp 30KB
config.js.bak 2KB
plugin.js.bak 545B
BookDAO.class 13KB
NewsDAO.class 7KB
OrderDAO.class 7KB
MakeOrderServlet.class 7KB
BookWriteDAO.class 6KB
BookInfo.class 5KB
BookInfoServlet.class 5KB
UserInfoDAO.class 5KB
UserInfoServlet.class 5KB
ValidateCodeServlet.class 5KB
NewsCategoryDAO.class 5KB
UserInfo.class 4KB
BookWriteServlet.class 4KB
AdminInfoServlet.class 4KB
Order.class 4KB
CommentDAO.class 4KB
BookCategoryDAO.class 4KB
ShopCartServlet.class 4KB
OrderDetailDAO.class 4KB
AdminDAO.class 4KB
ShoppingCart.class 3KB
NewsList.class 3KB
BookWrite.class 3KB
OrderDetail.class 3KB
News.class 3KB
NewsCategoryServlet.class 3KB
NewsServlet.class 3KB
ShoppingCartItem.class 3KB
Comment.class 3KB
CommentServlet.class 2KB
AdminInfo.class 2KB
MD5Test1.class 2KB
AdminRoleDAO.class 2KB
Pagination.class 2KB
BookCategoryServlet.class 2KB
BookCategory.class 2KB
IsLoginServlet.class 2KB
NewsType.class 2KB
AdminRole.class 2KB
TestImagPath.class 1KB
MD5Test.class 1KB
DBTools.class 1KB
ImagPath.class 1KB
BookSearchServlet.class 1KB
FloatTest.class 1KB
LogoutServlet.class 1KB
DBTest.class 1KB
BookIDAO.class 1KB
PassWordEncoder.class 1KB
SqlTest.class 912B
NewsIDAO.class 683B
OrderIDAO.class 488B
BookWriteIDAO.class 446B
OrderDetailIDAO.class 440B
BookCategoryIDAO.class 406B
UserInfoIDAO.class 383B
NewsCategoryIDAO.class 383B
CommentIDAO.class 342B
AdminIDAO.class 274B
AdminRoleIDAO.class 256B
.classpath 692B
editor.css 35KB
editor.css 31KB
editor.css 31KB
dialog.css 20KB
dialog.css 18KB
dialog.css 17KB
dialog.css 16KB
dialog.css 15KB
dialog.css 13KB
toolbar.css 13KB
toolbar.css 11KB
toolbar.css 10KB
richcombo.css 8KB
richcombo.css 7KB
icons.css 7KB
richcombo.css 7KB
icons.css 6KB
icons.css 6KB
menu.css 6KB
menu.css 5KB
menu.css 5KB
mainui.css 4KB
panel.css 4KB
panel.css 4KB
panel.css 4KB
mainui.css 3KB
yui.css 3KB
mainui.css 3KB
yui.css 3KB
web_style.css 3KB
admin.css 2KB
admin.css 2KB
templates.css 2KB
templates.css 2KB
templates.css 2KB
reset.css 2KB
共 836 条
- 1
- 2
- 3
- 4
- 5
- 6
- 9
cao1213lei
- 粉丝: 3
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
- 4
- 5
前往页