图书商城:图书模块
来源:互联网 发布:mac版chrome好用吗 编辑:程序博客网 时间:2024/04/30 11:25
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
0 0
- 图书商城:图书模块
- 图书商城:用户模块
- 图书商城:分类模块
- 图书商城:订单模块
- web day24 小项目练习图书商城, 用户,模块(注册,激活,登陆,退出),分类/图书模块
- 图书
- 图书
- 图书
- 图书
- 图书
- 图书
- web day26 小项目练习图书商城 后台分类管理模块,图书管理模块,前台登陆过滤
- 仿豆瓣图书商城Jsonp
- 图书商城:购物车模块
- 网上图书商城视频教程day01
- 网上图书商城视频教程day02
- 网上图书商城视频教程day03
- 网上图书商城视频教程day04
- ucloud的CDN > UCDN介绍
- Shell 文件包含
- TensorFlow基本架构解读
- 关于使用sklearn进行数据预处理 —— 归一化/标准化/正则化
- 广告轮播图
- 图书商城:图书模块
- 网络加载图片类型变成bitmap
- android mvp实例
- p303 使用指针给函数传递数据
- 线性回归的python实现
- KOOCAN的很正常电影排行榜之那些在电影院看里看的广告
- SASS和SCSS
- Android开发Intent传递对象
- 奇亿音乐(Channel游戏音乐)告诉你:怎样的游戏音乐才能百搭游戏