5.商品分类查询功能_商品品牌分页查询功能

本文介绍了前后端分离的电商系统中,商品分类查询及品牌分页查询的实现。包括查询一级分类商品、分页查询品牌,分析了跨域问题及其解决方案CORS,并详细讲解了后端代码的编写,涉及分类的SQL查询、分页结果类PageResult的定义以及品牌查询的处理。
摘要由CSDN通过智能技术生成

知识点总结

1.功能:查询全部一级分类商品:

分类表:tb_category 字段: id name parent_id(父级分类) is_parent(是否是一级分类) sort(排序指数,越小越靠前)
http://api.leyou.com/api/item/category/list?pid=0
返回 ResponseEntity<List> ResponseEntity包装成json

为什么返回是List? 因为前端tree组件用法,返回是json数组,对应Java的List集合

2.功能:查询所有品牌,分页显示

品牌表:tb_brand 字段:id name image letter
http://api.leyou.com/api/item/brand/page?key=&page=1&rows=5&sortBy=id&desc=false
返回:ResponseEntity<PageResult>
自己定义了PageResult类,

为什么要自己定义PageResult:?
分页结果一般至少需要两个数据

  • total:总条数
  • items:当前页数据
  • totalPage:有些还需要总页数

所以要自己定义PageResult,
private Long total; // 总条数
private Integer totalPage; // 总页数
private List items; // 当前页数据

3.品牌与分类的关系: 多对多 ,一个分类下有多个品牌,一个品牌也可以属于不同分类

所以还有一张 分类-品牌表 tb_category_brand category_id brand_id

4.跨域问题:

页面所在路径:http://manage.leyou.com
请求路径:http://api.leyou.com/api/item/category/list?pid=0 (前端导致的,前端代码有一个baseUrl: http://api.leyou.com/api, 对所有请求约定)
属于不同的域,无法请求动态资源

跨域原理:
为保护网页,ajax请求分为两类:简单请求、特殊请求。
特殊请求会有一次预检请求,询问服务器当前网页所在域名(Origin中会指出当前请求属于哪个域(协议+域名+端口)是否在许可名单中,以及可以使用哪些HTT动词和头部信息段.

解决办法:CORS
优点: 在服务端进行控制是否允许跨域,可自定义规则,支持各种请求方式
缺点:需要多一次请求
实现:CorsFilter类下添加允许口语访问的http://manage.leyou.com和请求方式,告诉浏览器http://manage.leyou.com在白名单内
拦截一切请求


网关代理的是各个微服务
Nginx代理的是网关,

前后端分离后端代码编写

根据需求,页面,页面没写好,就会有接口文档,编写后端代码
在这里插入图片描述

一、分类前端页面分析:

有一些静态数据
在这里插入图片描述
分类管理的路径:http://manage.leyou.com/#/item/category
在这里插入图片描述

在router/index.js中,根据路由"/item/category",找到组件’/item/Category’

在这里插入图片描述
在这里插入图片描述
自定义全局组件< v-tree > ,由于是全局组件,所以不需要引入

在这里插入图片描述

全局组件:
只要是有vue实例的地方就可以使用,category就是vue实例
在这里插入图片描述

二 后端代码实现

sql代码

在这里插入图片描述
在这里插入图片描述

分析tb_category:

在这里插入图片描述
三级分类,一般电商网站都是三级分类:
在这里插入图片描述

在这里插入图片描述
一般先加载一级类目,即找父类pid目为0的类目,
请求方式/路径:Request:URL
请求参数:pid = 0
返回结果集:集合
知道这三个参数,就可以编写后端代码了
在这里插入图片描述

编写后端代码

1.编写Category类

@Table(name="tb_category")
public class Category {
   
	@Id
	@GeneratedValue(strategy=GenerationType.IDENTITY)
	private Long id;
	private String name;
	private Long parentId;
	private Boolean isParent; // 注意isParent生成的getter和setter方法需要手动加上Is
	private Integer sort;
	// getter和setter略
}

注意isParent的get和set问题,增加

    public Boolean getIsParent() {
   
        return isParent;
    }

    public void setIsParent(Boolean parent) {
   
        isParent = parent;
    }

2.引入依赖

    <dependencies>
        <dependency>
            <groupId>javax.persistence</groupId>
            <artifactId>persistence-api</artifactId>
            <version>1.0</version>
        </dependency>
    </dependencies>

3.创建Mapper

在引导类引入MapperScan,引入通用Mapper的MapperScan,扫描mapper包,这样mapper包下的Mapper就不用添加mapper注解了
在这里插入图片描述
在这里插入图片描述

package com.leyou.item.mapper;

import com.leyou.item.pojo.Category;
import tk.mybatis.mapper.common.Mapper;

public interface CategoryMapper 
最低0.47元/天 解锁文章
多问为什么,坚持跑步
关注 关注
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
分页查询------商品分类(上)
a17151314的博客
12-05 299
基本思路后台从数据库查询出想要的属性存储,前台调用显示 1.实体类 import java.io.Serializable; import java.util.List; public class PageBean<T> implements Serializable{ /**分页实体类 * 当前页 * 每页显示条数 *列表数据 *总页数 *总记录数 */ private Integer currentPage; private Integer pageSize; p
移动商城的分类查询设计、商品详情页设计、用户下单功能实现
tutouchengxuyua的博客
01-30 676
商城的分类查询设计 商城的分类查询主要用于展示一个一级分类列表,通过一级分类列表提供的分类ID(作为参数),跳转到商品控制器中进行商品查询分类查询主要是通过分类列表进行跳转的。分类主页的控制器SortsController 的设计代码如下所示: @Restcontroller @RequestMapping( "/sorts") public class SortsController { CAutowired private SortsRestService sortsRestService;
分页查看分类下的商品信息
qq_40857365的博客
12-04 355
开发流程 步骤 在分类标签绑定链接 <script> $(function () { $.post("${pageContext.request.contextPath}/categoryServlet", {"method": "findAllCats"}, function (dt) { // jquery遍历数据 $.each(dt, function (i, obj) { var
品牌管理(多条件分页查询
huangyh技术栈
11-20 362
1.1 实现思路 需求目标,实现品牌条件查询功能,输入品牌名称、首字母后查询,并分页。 目标把查询的参数传到后台。首先需要做数据绑定,把输入的数据绑定到一个对象里面去,再为按钮注册点击事件。点击后,reload一下,调用之前的search方法查询,把这两个参数带到后台就可以了。使用ng-model把数据封装好之后,还需要{{}}取数据。 使用$http发送异步请求。 ...... 处理...
根据商品等级查询商品分类信息(三层嵌套)
qq_53683710的博客
10-16 1402
实现商品三级菜单的嵌套
SSH框架网上商城项目第5战之商品类别级联查询和分页功能
09-02
在这个“SSH框架网上商城项目”中,我们关注的是商品类别级联查询和分页功能的实现。级联查询允许我们获取一个实体的相关数据,比如在本例中,我们需要获取商品类别时同时包含管理员的信息。分页功能则是为了提高...
dang_2.zip_当当java_当当网_物流 java
最新发布
09-22
1. **商品浏览**:用户通过搜索或分类浏览找到想要的商品,系统需要提供商品的详细信息,如价格、库存、评价等。 2. **添加到购物车**:用户可以将商品添加到购物车,此时需要处理商品数量的增减、商品选择等问题。 ...
使用Django搭建网站实现商品分页功能
12-17
在`views.py`中,我们将编写视图函数处理HTTP请求,从数据库中获取商品信息,并实现分页功能。引入必要的库和模型,然后创建`index`视图: ```python from django.shortcuts import render from sample_blog....
h5仿原生商品分类滑动
06-27
分类滑动就是指用户可以通过左右滑动屏幕来切换不同的商品分类,这种方式在手机小屏幕上尤其方便,避免了下拉菜单或分页可能导致的拥挤感。 2. **仿原生分类滑动**:原生应用通常能提供更为流畅和自然的滑动体验,...
《进销存 ——“商品查询/新增”》
IT_abmin的博客
05-07 610
《进销存 ——“商品查询/新增”》 一、查询功能实现 商品查询主要包括下拉框查询、模糊查询功能 商品查询图片:见图1(下拉框查询)、图2模糊查询、图3下拉框+模糊查询 图1:点击类别下拉框,选择类别查询 图2:模糊搜索条件(商品名称、商品编号、商品条码、颜色),在模糊搜索文本框搜索以上条件方可查询商品信息 图3:下拉框+模糊查询(指定的类别+模糊查询里面的条件进行查询),信息更加详细 二、商品新增功能实现 图4 1、点击新增按钮->弹出新增模态框->手动添加商品信息->点击保存
solr搜索_商品分类_品牌列表_规格列表的实现思路和步骤
天蓬元帅的博客
09-14 2213
第一步: 事先我们已经将itemCat表中的数据放入了solr中,所以这里可以直接使用solr的分组查询,查询商品分类数据     第二步: 将商品分类表全部缓存进redis数据库中 缓存的形式是map类型  大key=itemcat     小key=name      value=type_id     思路还是一样先从mysql数据库查出来,然后存入redis数据库中   ...
7.品牌关联(多对多中间表)
di_ko的博客
04-19 463
背景是:一个品牌对应多个分类,一个分类也可能对应多个品牌 显然是一个多对多的关系,要建一个中间表 实现查询方法,开发文档中的接口如下: 传入的是品牌id(brandId),返回的数据有分类id和分类名 controller: i)@RequestParam表示传入的参数 ii)QueryWrapper中eq里写的是brand_id而不是brandId,因为要与数据中的字段相同 保存save功能: 因为传入的参数中没有分类名和品牌名,需要后台根据分类id和品牌id进行...
电商网站首页商品分类列表功能实现
weixin_34334744的博客
12-13 2984
首先我们看下这个功能实现的效果: 后期理解补充: 其实这个功能的关键点就是分析这个模块的数据格式怎么样的? 对于这种商品列表展示的功能: 我们思路如下: 第一:开始展示的都是顶级列表,即parentId为0,即每页父类,他就是最顶级的。 第二:根据数据格式分析各级的区别:顶级与二级的区别,二级与三级的区别(这些区别就是在写代码时候的条件约束) 第三:子列表包含子列表,这里使用递归调用。即将根据本身...
案例:实现商品分类导航栏
daqi1983的博客
12-12 1688
一、编写页面功能代码 <div id="divmenu"> <a href="${pageContext.request.contextPath}/showProductByPage?category=文学">文学</a> <a href="${pageContext.request.contextPath}/showProductByPage?category=生活">生活</a> <a href="${pageCo
html分类页面,商品分类.html
weixin_36307713的博客
06-03 2484
商品分类h1, dl, dt, dd {margin: 0px;padding: 0px;}body {background-color: #D5D5D5;}div {width: 230px;background-color: #fff;}h1 {font-size: 16px;font-weight: bold;color: #FFF;background-color: #000;text-i...
JAVA商城项目(微服务框架)——第7天nginx+cors解决跨域+品牌+分类查询
就叫一片白纸的博客
03-06 2610
0.学习目标 使用资料搭建后台系统 会使用nginx进行反向代理 实现商品分类查询功能 掌握cors解决跨域 实现品牌查询功能 1.搭建后台管理前端 1.1.导入已有资源 后台项目相对复杂,我们不再从0搭建项目,而是直接使用准备好的源码: 我们解压缩,放到工作目录中: 然后在Intellij idea中导入新的工程: 选中我们的工程: 这正是一个用vue-cli构建的webpack工程,是...
微服务项目整合与测试
林仔520的博客
06-10 800
微服务项目整合 文章目录微服务项目整合一. 微服务项目整合1. 下载项目代码2. 导进项目3. 新建数据库和表信息4. 修改代码:5. 启动项目(1) 测试接口方法。(2) 测试 API 网关服务。二. 接口可视化工具——Swagger-UI(一). Swagger-UI使用方法1. 下载Swagger-UI项目2.引入Swagger-UI3. 加入Swagger依赖4.编写配置类(二). Sw...
JDBC——商品品牌数据的增删改查操作
weixin_45348240的博客
03-16 3065
JDBC练习——完成商品品牌数据的增删改查操作 一、准备环境 1、数据库表tb_brand 2、实体类Brand /** * 品牌 * alt+鼠标左键,整列编辑 * 在实体类中,基本数据类型建议使用其对应的包装类型 * 如int换成Integer,因为int的默认值是0,可能会对结果产生影响,而Integer的默认值是null * */ public class Brand { //要与表中字段的类型和名称对应 private Integer id; privat
写文章

热门文章

  • 优秀流程图和逻辑图画法的分析和借鉴 9294
  • HotSpot为什么要分为新生代和老年代?为什么要有Survivor区? 5804
  • 在WEB-INF的lib里导入jar包的方法步骤 3686
  • vivo2020届春季校园招聘在线编程考试_现给定任意正整数 n,请寻找并输出最小的正整数 m(m>9),使得 m 的各位(个位、十位、百位 ... ...)之乘积等于n,若不存在则输出 -1。 3330
  • idea中导入springboot项目java文件左下角出现红色的J符号 2991

分类专栏

  • 写作工具 1篇
  • C++基础
  • LeetCode 105篇
  • java集合 20篇

最新评论

  • LSTM论文代码分析_1

    Jessi.E: 你好,我想问一下这里的time deep=10,指的是每10分钟采集一次数据的意思吗?还是???

  • 优秀流程图和逻辑图画法的分析和借鉴

    银杏叶277: 您好,看了您的文章有些小疑问,可以给个联系方式解答一下吗?

  • HotSpot为什么要分为新生代和老年代?为什么要有Survivor区?

    看字母: 讲的真棒

  • LSTM论文代码分析_1

    m0_45300435: 请问你找到论文的数据了吗 loop数据的下载链接没法打开

  • LSTM论文代码分析_1

    Benbaobaos: 请问博主有这篇论文的数据集吗

最新文章

  • 优秀流程图和逻辑图画法的分析和借鉴
  • c++_类
  • 3.c++_函数
2021年5篇
2020年343篇
2019年14篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值

玻璃钢生产厂家商场美陈道具树尺寸造型动物玻璃钢雕塑供应商高淳夏季商场美陈承德玻璃钢雕塑定做青海方形玻璃钢花盆生产玻璃钢雕塑有哪些南京设计玻璃钢雕塑商场万圣节美陈装饰布置陕西喷泉雕塑玻璃钢玻璃钢人物雕塑价钱如何浙江通道商场美陈哪里有安徽西方人物玻璃钢雕塑哪家好玻璃钢雕塑发黄革命主题玻璃钢雕塑参考价定西人物玻璃钢雕塑定做新郑泡沫玻璃钢卡通雕塑玻璃钢雕塑制作找哪家园林景观玻璃钢雕塑玻璃钢花盆裂缝怎么修补玻璃钢雕塑清洗教程大型校园玻璃钢雕塑定制佛山美陈玻璃钢造型雕塑北京黑色小型玻璃钢花盆芒市玻璃钢雕塑哪里买宣武区街道玻璃钢花盆宝鸡镂空不锈钢玻璃钢仿铜雕塑茂名玻璃钢火烈鸟雕塑大型商场创意商业美陈经验马鞍山玻璃钢花盆成都卡通玻璃钢雕塑厂家香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化