欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

图书商城:图书模块

发布时间:2025/4/16 70 豆豆
生活随笔 收集整理的这篇文章主要介绍了 图书商城:图书模块 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

1、创建相关类

  • cn.itcast.bookstore.book
  • domain:Book
  • dao:BookDao
  • service :BookService
  • web.servle:BookServlet

Book

public class Book {private String bid;private String bname;private double price;private String author;private String image;private Category category;private boolean del; }

BookDao

public class BookDao {private QueryRunner qr = new TxQueryRunner();/*** 查询所有图书* @return*/public List<Book> findAll() {try {String sql = "select * from book where del=false";return qr.query(sql, new BeanListHandler<Book>(Book.class));} catch(SQLException e) {throw new RuntimeException(e);}}/*** 按分类查询* @param cid* @return*/public List<Book> findByCategory(String cid) {try {String sql = "select * from book where cid=? and del=false";return qr.query(sql, new BeanListHandler<Book>(Book.class), cid);} catch(SQLException e) {throw new RuntimeException(e);}}/*** 加载方法* @param bid* @return*/public Book findByBid(String bid) {try {/** 我们需要在Book对象中保存Category的信息*/String sql = "select * from book where bid=?";Map<String,Object> map = qr.query(sql, new MapHandler(), bid);/** 使用一个Map,映射出两个对象,再给这两个对象建立关系!*/Category category = CommonUtils.toBean(map, Category.class);Book book = CommonUtils.toBean(map, Book.class);book.setCategory(category);return book;} catch(SQLException e) {throw new RuntimeException(e);}}/*** 查询指定分类下的图书本数* @param cid* @return*/public int getCountByCid(String cid) {try {String sql = "select count(*) from book where cid=?";Number cnt = (Number)qr.query(sql, new ScalarHandler(), cid);return cnt.intValue();} catch(SQLException e) {throw new RuntimeException(e);}}/*** 添加图书* @param book*/public void add(Book book) {try {String sql = "insert into book values(?,?,?,?,?,?)";Object[] params = {book.getBid(), book.getBname(), book.getPrice(),book.getAuthor(), book.getImage(), book.getCategory().getCid()};qr.update(sql, params);} catch(SQLException e) {throw new RuntimeException(e);}}/*** 删除图书* @param bid*/public void delete(String bid) {try {String sql = "update book set del=true where bid=?";qr.update(sql, bid);} catch(SQLException e) {throw new RuntimeException(e);}}public void edit(Book book) {try {String sql = "update book set bname=?, price=?,author=?, image=?, cid=? where bid=?";Object[] params = {book.getBname(), book.getPrice(),book.getAuthor(), book.getImage(), book.getCategory().getCid(), book.getBid()};qr.update(sql, params);} catch(SQLException e) {throw new RuntimeException(e);}} }

BookService

public class BookService {private BookDao bookDao = new BookDao();/*** 查询所有图书* @return*/public List<Book> findAll() {return bookDao.findAll();}/*** 按分类查询图书* @param cid* @return*/public List<Book> findByCategory(String cid) {return bookDao.findByCategory(cid);}public Book load(String bid) {return bookDao.findByBid(bid);}/***  添加图书* @param book*/public void add(Book book) {bookDao.add(book);}public void delete(String bid) {bookDao.delete(bid);}public void edit(Book book) {bookDao.edit(book);} }

BookServlet

public class BookServlet extends BaseServlet {private BookService bookService = new BookService();public String load(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {/** 1. 得到参数bid* 2. 查询得到Book* 3. 保存,转发到desc.jsp*/request.setAttribute("book", bookService.load(request.getParameter("bid")));return "f:/jsps/book/desc.jsp";}/*** 查询所有图书* @param request* @param response* @return* @throws ServletException* @throws IOException*/public String findAll(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {request.setAttribute("bookList", bookService.findAll());return "f:/jsps/book/list.jsp";}/*** 按分类查询* @param request* @param response* @return* @throws ServletException* @throws IOException*/public String findByCategory(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {String cid = request.getParameter("cid");request.setAttribute("bookList", bookService.findByCategory(cid));return "f:/jsps/book/list.jsp";} }

2、查询所有图书

流程:left.jsp(全部分类) -> BookServlet#findAll() -> /jsps/book/list.jsp

3、按分类查询图书

流程:left.jsp -> BookServlet#findByCategory() -> list.jsp

4、查询详细信息(加载)

流程:list.jsp(点击某一本书) -> BookServlet#load() -> desc.jsp

总结

以上是生活随笔为你收集整理的图书商城:图书模块的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。