Java Web 网络商城案例演示十二(查询类别下的商品信息)

蜂信物联FastBee平台https://gitee.com/beecue/fastbee

阿里资料开源项目https://gitee.com/vip204888

百度低代码前端框架https://gitee.com/baidu/amis

OpenHarmony开源项目https://gitcode.com/openharmony

仓颉编程语言开放项目https://gitcode.com/Cangjie

public String findProductsByCidWithPage(HttpServletRequest request, HttpServletResponse response) throws Exception {

//获取cid,num

String cid = request.getParameter(“cid”);

int curNum = Integer.parseInt(request.getParameter(“num”));

//调用业务层功能:以分页形式查询当前类别下的商品

//返回PageModel对象(1、当前页信息 2、分页 3、url)

ProductService productService = new ProductServiceImpl();

PageModel pm = productService.findProductsByCidWithPage(cid,curNum);

//将pageModel对象放入到request当中

request.setAttribute(“page”, pm);

//转发到/jsp/product_list.jsp当中

return “/jsp/product_list.jsp”;

}

ScalarHandler: 将单个值封装

3、在ProductService当中创建对应的方法及其内容

创建PageModel对象目的:计算分页参数

统计当前分类下商品的个数 select count(*) from product where cid=?

关联集合 select * from product where cid = ? LIMIT ?,?

关联url

返回所有的分页数据以及对应的页码对象

在这里插入图片描述

@Override

public PageModel findProductsByCidWithPage(String cid, int curNum) throws Exception {

//1、创建PageModel对象目的:计算分页参数

//统计当前分类下商品的个数 select count(*) from product where cid=?

int totalRecords = productDao.findTotalRecords(cid);

PageModel pm = new PageModel(curNum, totalRecords, 12);

//2、关联集合 select * from product where cid = ? LIMIT ?,?

List list = productDao.findProductsByCidWithPage(cid,pm.getStartIndex(),pm.getPageSize());

pm.setList(list);

//3、关联url

pm.setUrl(“”);

//返回所有的分页数据(对应商品信息)以及对应的页码的对象

return null;

}

4、依次在ProductDaoImpl当中实现两个方法

findTotalRecords返回的是对应cid数据的个数

findProductsByCidWithPage方法返回的是List对应cid的商品,cid是在category上获取的,到product上查找随意cid 的商品

@Override

public int findTotalRecords(String cid) throws Exception {

String sql = “select count(*) from product where cid = ?”;

QueryRunner qr = new QueryRunner(JDBCUtils.getDataSource());

Long num = (Long)qr.query(sql, new ScalarHandler(),cid);//ScalarHandler: 将单个值封装

return num.intValue();

}

@Override

public List findProductsByCidWithPage(String cid, int startIndex, int pageSize) throws Exception {

String sql = “select * from product where cid = ? limit ?,?”;

QueryRunner qr = new QueryRunner(JDBCUtils.getDataSource());

return qr.query(sql, new BeanListHandler(Product.class),cid,startIndex,pageSize);

}

4、写一个公共的分页代码,获取request当中传递过来的PageModel对象,并从其中获取对应的值

<%@ page language=“java” import=“java.util.*” pageEncoding=“UTF-8”%>

<%@ taglib uri=“http://java.sun.com/jsp/jstl/core” prefix=“c”%>

<%–分页显示的开始 --%>

p a g e . t o t a l P a g e N u m 页 / 第 {page.totalPageNum}页/第 page.totalPageNum/{page.currentPageNum}页

首页

上一页

<%–显示的页码,使用forEach遍历显示的页面 --%>

<c:forEach begin=“ p a g e . s t a r t P a g e " e n d = " {page.startPage}" end=" page.startPage"end="{page.endPage}” var=“pagenum”>

${pagenum}

</c:forEach>

下一页

末页

<%–分页显示的结束–%>

product_list.jsp当中获取值并显示

<%@ page language=“java” contentType=“text/html; charset=UTF-8”

pageEncoding=“UTF-8”%>

<%@ taglib prefix=“c” uri=“http://java.sun.com/jsp/jstl/core”%>

<!doctype html>

商品列表

href=“${pageContext.request.contextPath}/css/bootstrap.min.css”

type=“text/css” />

href=“${pageContext.request.contextPath}/css/style.css” type=“text/css” />

<%@include file=“/jsp/header.jsp”%>

<c:if test=“${empty page.list }”>

暂无商品信息

</c:if>

最后

为什么我不完全主张自学?
平台上的大牛基本上都有很多年的工作经验了,你有没有想过之前行业的门槛是什么样的,现在行业门槛是什么样的?以前企业对于程序员能力要求没有这么高,甚至十多年前你只要会写个“Hello World”,你都可以入门这个行业,所以以前要入门是完全可以入门的。
②现在也有一些优秀的年轻大牛,他们或许也是自学成才,但是他们一定是具备优秀的学习能力,优秀的自我管理能力(时间管理,静心坚持等方面)以及善于发现问题并总结问题。
如果说你认为你的目标十分明确,能做到第②点所说的几个点,以目前的市场来看,你才真正的适合去自学。

除此之外,对于绝大部分人来说,报班一定是最好的一种快速成长的方式。但是有个问题,现在市场上的培训机构质量参差不齐,如果你没有找准一个好的培训班,完全是浪费精力,时间以及金钱,这个需要自己去甄别选择。

我个人建议线上比线下的性价比更高,线下培训价格基本上没2W是下不来的,线上教育现在比较成熟了,此次疫情期间,学生基本上都感受过线上的学习模式。相比线下而言,线上的优势以我的了解主要是以下几个方面:
①价格:线上的价格基本上是线下的一半;
②老师:相对而言线上教育的师资力量比线下更强大也更加丰富,资源更好协调;
③时间:学习时间相对而言更自由,不用裸辞学习,适合边学边工作,降低生活压力;
④课程:从课程内容来说,确实要比线下讲的更加深入。

应该学哪些技术才能达到企业的要求?(下图总结)

己去甄别选择。

我个人建议线上比线下的性价比更高,线下培训价格基本上没2W是下不来的,线上教育现在比较成熟了,此次疫情期间,学生基本上都感受过线上的学习模式。相比线下而言,线上的优势以我的了解主要是以下几个方面:
①价格:线上的价格基本上是线下的一半;
②老师:相对而言线上教育的师资力量比线下更强大也更加丰富,资源更好协调;
③时间:学习时间相对而言更自由,不用裸辞学习,适合边学边工作,降低生活压力;
④课程:从课程内容来说,确实要比线下讲的更加深入。

应该学哪些技术才能达到企业的要求?(下图总结)

[外链图片转存中…(img-X2PFM5Ef-1725143281242)]

[外链图片转存中…(img-LBXg3d8U-1725143281242)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值