热门标签 | HotTags
当前位置:  开发笔记 > 程序员 > 正文

查询购物车列表时的索引

查询购物车记录接口,需要购物车列表(购物车信息)商品表(商品的信息比如商品的名称)套餐表(套餐的名称,套餐的价格,套餐的具体内容)商品图片表(商品图片){code:10000,ms

查询购物车记录接口,需要购物车列表(购物车信息)商品表(商品的信息比如商品的名称)套餐表(套餐的名称,套餐的价格,套餐的具体内容)商品图片表(商品图片)


{
"code": 10000,
"msg": "success",
"data": [
{
"cartId": 76,
"productId": "1",
"skuId": "3",
"userId": "7",
"cartNum": "1",
"cartTime": null,
"productPrice": 8,
"skuProps": "口味:草莓;",
"productName": "奥利奥小饼干",
"url": "ala_1.png",
"originalPrice": 10,
"sellPrice": 8,
"skuName": "奥奥奥分享装",
"stock": 147
}
]
}

而原本的购物车实体类是没有商品信息这些东西的,只有商品的id,所以需要新建购物车实体类


实体类



dao->mapper


这里做了一个索引优化

ALTER TABLE shopping_cart ADD INDEX c_all(cart_id,product_id,sku_id,user_id,cart_num,cart_time,product_price,sku_props)
ALTER TABLE product_img ADD INDEX itemidx (item_id)


这里是要查询购物车列表的全部字段,所以全部字段都需要建立索引,productId是商品表的主键,主键自动建立唯一索引,skuId是套餐表的主键,但是item_id并不是图片表的主键,所以要建立索引


选择购物车列表数据提交订单时,可以用同一个索引


SELECT c.cart_id ,c.product_id ,c.sku_id,
c.user_id,c.cart_num ,c.cart_time,c.product_price,
c.sku_props,s.original_price,s.sell_price,s.sku_name,
p.product_name,i.url,s.stock
FROM shopping_cart c
INNER JOIN product p
INNER JOIN product_img i
INNER JOIN product_sku s
ON s.sku_id=c.sku_id
AND p.product_id=c.product_id
AND i.item_id=c.product_id
WHERE i.is_main=1 AND c.cart_id IN(76,77)

动态sql的编写




Sercive层实现类


@Override
public ResultVo getshopcartsbyCartids(String cids) {//从前端传入到后端的是字符串,
// 在service层进行拼接
String[] arr = cids.split(",");
ListcartIds=new ArrayList<>();
for (String s : arr) {
cartIds.add(Integer.parseInt(s));
}
List shoppingCartList =
shoppingCartMapper.selectShoppingCartByICartIds(cartIds);
return new ResultVo(ResStatus.OK,"success",shoppingCartList);
}


推荐阅读
  • 本文详细介绍了如何在 Android 中使用值动画(ValueAnimator)来动态调整 ImageView 的高度,并探讨了相关的关键属性和方法,包括图片填充后的高度、原始图片高度、动画变化因子以及布局重置等。 ... [详细]
  • 深入剖析JVM垃圾回收机制
    本文详细探讨了Java虚拟机(JVM)中的垃圾回收机制,包括其意义、对象判定方法、引用类型、常见垃圾收集算法以及各种垃圾收集器的特点和工作原理。通过理解这些内容,开发人员可以更好地优化内存管理和程序性能。 ... [详细]
  • 如何在WPS中设置标题格式
    本文详细介绍了在WPS Office中设置文档标题的方法,帮助用户掌握高效、专业的文档排版技巧。 ... [详细]
  • 优化Render Texture在RawImage中显示模型的质量
    本文探讨如何通过调整Render Texture的设置,提升UI界面中模型渲染的图片质量。同时,介绍一些替代方法来实现人物选择界面中的模型显示。 ... [详细]
  • 本文记录了作者在学习验证码识别过程中,针对粘连字符分割的探索与实践。通过对多种算法的研究和应用,总结出有效的解决方案,并分享了相关经验和技巧。 ... [详细]
  • NVIDIA Titan RTX深度评测
    NVIDIA的Titan RTX被誉为当前最强大的桌面显卡之一,其卓越的性能和高昂的价格吸引了众多专业人士和技术爱好者的关注。本文将详细介绍Titan RTX的技术规格、性能表现及应用场景。 ... [详细]
  • MySQL Debug 模式的实现与应用
    本文详细介绍了如何启用和使用 MySQL 的调试模式,包括编译选项、环境变量配置以及调试信息的解析。通过实际案例展示了如何利用调试模式解决客户端无法连接服务器的问题。 ... [详细]
  • 多核环境下大规模线性分类的并行对偶坐标下降算法
    本文介绍了一种适用于多核环境的大规模线性分类问题的并行对偶坐标下降算法。该方法通过优化计算资源的分配,显著提高了处理效率和模型性能。论文《Parallel Dual Coordinate Descent Method for Large-scale Linear Classification in Multi-core Environments》详细探讨了这一算法,并提供了实验验证。 ... [详细]
  • 本文介绍了一种根据目标检测结果,从原始XML文件中提取并分析特定类别的方法。通过解析XML文件,筛选出特定类别的图像和标注信息,并保存到新的文件夹中,以便进一步分析和处理。 ... [详细]
  • 深入解析Hadoop的核心组件与工作原理
    本文详细介绍了Hadoop的三大核心组件:分布式文件系统HDFS、资源管理器YARN和分布式计算框架MapReduce。通过分析这些组件的工作机制,帮助读者更好地理解Hadoop的架构及其在大数据处理中的应用。 ... [详细]
  • PHP 实现无刷新多图上传及远程图片处理
    本文详细介绍了如何使用 PHP 实现网页上的无刷新多图上传功能,同时支持远程图片的下载与处理。文章提供了具体的代码示例,并对关键函数进行了说明。 ... [详细]
  • PC时代的传奇人物
    回顾过去几十年,个人电脑(PC)的发展历程犹如一部英雄史诗。每一位杰出人物都在这一领域留下了不可磨灭的印记,他们的贡献不仅推动了技术的进步,也深刻影响了现代社会的发展。 ... [详细]
  • JMeter接口关联与数据提取:正则表达式和JSON Extractor的使用
    在使用JMeter进行接口测试时,常常需要从前一个接口的响应中提取数据并应用于后续请求。本文将详细介绍如何利用正则表达式提取器(Regular Expression Extractor)和JSON Extractor来实现这一需求。 ... [详细]
  • 探讨如何在 iOS 开发中通过添加 NSLayoutConstraint 来使 UICollectionView 自适应其内容的高度,特别是在复杂布局如模拟微信朋友圈发布界面时遇到的问题。 ... [详细]
  • 在图像处理领域,了解图片的亮度信息对于判断图片是否过曝或过暗至关重要。本文将介绍如何计算不同格式图片(如YUV和RGB)的平均亮度。 ... [详细]
author-avatar
hitwill
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有