专栏首页零基础自学Java【微服务】164:商品微服务需要提供的接口

【微服务】164:商品微服务需要提供的接口

一、搜索微服务与商品微服务

虽然说现在是在实现搜索相关的业务,但是其本质上还是对于商品的操作。

也就是说在搜索微服务中调用商品微服务中已经实现了的操作即可。。

做个简单的回顾,搜索需要的数据有两种:展示数据和过滤数据。

其中将涉及到的数据表做一个整理:

①展示数据涉及到的表

SPU信息表、SPU的详情表以及SKU信息表。

②过滤数据涉及到的表

商品分类表、品牌表以及规格参数表、

根据上述实体类我们可以判断出,搜索中需要到的数据库查询包括:

  • 分页查询SPU表。
  • 根据spuId查询sku
  • 根据spuId查询SpuDetail
  • 根据商品分类id查询商品分类
  • 规格参数的查询
  • 根据Id查询品牌

上述这些查询方式有的我们已经实现过了,有的还没有,现在做一个完整的回顾与补全。

二、商品微服务Java代码编写

对商品的相关操作是编写在商品微服务中的。

1分页查询SPU表

该业务在第151天学习笔记中有记载:

因为涉及到一个分页查询,所以service层的代码较为复杂,当时详细编写并讲解过其代码实现,在此不再赘述。

2根据spuid查询sku表

该业务是在修改商品中实现的,笔记中我并没有做说明,这里做一个代码的补全:

因为这类使用的是通用mapper,其实无外乎就是controller层和service层的代码编写。

Controller代码中确定和请求相关的内容。

Service层代码中编写具体的业务逻辑,同时调用mapper层完成数据的查询。

上述涉及到了Stream流的应用以及通用Mapper批量查询,这个我在第152天学习笔记中详细讲解过。

注意:每次查询完数据后要对结果做非空判断,如果为空要抛出异常,这是个好习惯。

3根据spuId查询SpuDetail

spuId本身就是spuDetail表的主键,所以该业务实现起来也就非常的简单了。

直接使用通用mapper中的主键查询即可。

4根据商品分类id查询商品分类

这些在第152天学习笔记中学习通用mapper批量查询和stream流的时候就是写的根据多个id批量查询商品分类。

只不过当时只是编写了service层代码,并没有写controller层的代码,现在将其补全。

5根据id查询品牌

这个和第④点一样,在第152天学习笔记中有说明,当时是实现商品的分页时编写了其对应的业务逻辑。

当然该业务非常简单,重写一遍问题也不大。

6规格参数的查询

第154天学习笔记中也有涉及到对规格参数的说明。

emm感觉今天没学啥,全都用来回顾以前所实现的业务了,因为我的学习进度拉扯的太长。

比如分页查询Spu都是两个星期前实现的了,很多都忘记了,所以今天算是做了一个回顾与整理。

后续写搜索相关的业务时,也好用今天整合的做一个对应。

本文分享自微信公众号 - 刘小爱(liuxiaoai946),作者:刘小爱

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-09-23

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【微服务】160:Elasticsearch高级使用

    昨天学了match匹配和term匹配,这是两种最基础也很重要的查询方式,使用起来也简单。

    刘小爱
  • 【微服务】162:利用Java实现索引库相关的分页、排序和聚合

    比如用户要匹配查询,前几天我们有学过,有match匹配和term匹配两种常用的方式。

    刘小爱
  • 【框架】118:mybatis之多表高级查询

    又要提到前面那个说了好几遍的起别名问题了,使用resultMap标签也能解决这个问题。

    刘小爱
  • Hive3查询基础知识

    使用Apache Hive,您可以查询包括Hadoop数据在内的分布式数据存储。

    大数据杂货铺
  • SQL 教程:如何编写更佳的查询

    结构化查询语言(SQL)是数据科学行业中一项不可或缺的技能,一般来说,学习这个技能是挺容易的。不过,很多人都忘记了写查询只是SQL的第一步。我们还得确保查询性能...

    疯狂的技术宅
  • 快速学习Oracle-子查询

    子查询:在一个查询的内部还包括另一个查询,则此查询称为子查询。 Sql的任何位置都可以加入子查询。

    cwl_java
  • Access查询设计界面

    大家好,上节介绍了Access查询的知识框架,其实Access数据库的查询的功能很类似于Excel表中的筛选功能,但是功能更为丰富和强大。

    无言之月
  • Access查询基础

    大家好,前面介绍了Access数据库表部分的内容,后面开始介绍Access数据库查询部分的内容。

    无言之月
  • 【一文打尽】SQL 数据分析常用语句.....收藏

    • 1 基础查询 • 2 字符串\数字\日期时间 • 3 聚合数据查询 • 4 子查询 • 5 联接\组合查询 • 6 高级查询 • 7 更新数据 阅读提醒:点...

    小莹莹
  • django-模型之从数据库获取数据(二)

    11.逻辑查询 __gt(大于),__gte(大于等于),__lt(小于),__lte(小于等于)

    绝命生

扫码关注云+社区

领取腾讯云代金券