当前位置: 首页 > news >正文

家具网站建设方案如何提高网站的搜索排名

家具网站建设方案,如何提高网站的搜索排名,英语网站的栏目名称,宁波人流文章目录 需求描述定义实体方式一、mybatisPlus实现方式二、自定义SQL实现简单查询过滤查询 异常处理1、SQL拼写异常 在使用Mybatis或MybatisPlus进行数据统计,在【 SpringBoot的Mybatis-plus实战之基础知识】中对mybatisplus引入有介绍,本次要使用其进…

文章目录

  • 需求描述
  • 定义实体
  • 方式一、mybatisPlus实现
  • 方式二、自定义SQL实现
    • 简单查询
    • 过滤查询
  • 异常处理
    • 1、SQL拼写异常

在使用Mybatis或MybatisPlus进行数据统计,在【 SpringBoot的Mybatis-plus实战之基础知识】中对mybatisplus引入有介绍,本次要使用其进行数据统计。

需求描述

计算各个店铺每日销量的总金额。

定义实体

首先定义order实体,有金额amount,店铺shop_id等字段,如下图所示。

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;public class Order implements Serializable{/*** 序列化*/private static final long serialVersionUID = 6652550451095312169L;/*** 订单号*/private String orderNo;/*** 订单日期*/private LocalDateTime orderDate;/*** ֧支付金额*/private Long payAmount;/*** 税额*/private Long rateAmount;/*** 订单数量*/private Long skuNum;/*** 不含税金额*/private Long taxtedAmount;/*** 订单明细*/private List<OrderDetail> orderDetailList;private String orderStartDate;private String orderEndDate;public Long getTaxtedAmount() {return taxtedAmount;}public void setTaxtedAmount(Long taxtedAmount) {this.taxtedAmount = taxtedAmount;}public List<OrderDetail> getOrderDetailList() {return orderDetailList;}public void setOrderDetailList(List<OrderDetail> orderDetailList) {this.orderDetailList = orderDetailList;}public String getOrderNo() {return orderNo;}public void setOrderNo(String orderNo) {this.orderNo = orderNo;}public Long getPayAmount() {return payAmount;}public void setPayAmount(Long payAmount) {this.payAmount = payAmount;}public Long getRateAmount() {return rateAmount;}public void setRateAmount(Long rateAmount) {this.rateAmount = rateAmount;}public Long getSkuNum() {return skuNum;}public void setSkuNum(Long skuNum) {this.skuNum = skuNum;}public LocalDateTime getOrderDate() {return orderDate;}public void setOrderDate(LocalDateTime orderDate) {this.orderDate = orderDate;}public String getOrderStartDate() {return orderStartDate;}public void setOrderStartDate(String orderStartDate) {this.orderStartDate = orderStartDate;}public String getOrderEndDate() {return orderEndDate;}public void setOrderEndDate(String orderEndDate) {this.orderEndDate = orderEndDate;}
}

方式一、mybatisPlus实现

使用 QueryWrapper 构建查询条件,并使用 groupBy 方法指定分组字段

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.henu.mapper.OrderMapper;
import com.henu.dao.Order;
import org.apache.ibatis.session.SqlSession;
import java.util.List;
import java.util.Map;
public static void main(String[] args) {SqlSession sqlSession = MyBatisSqlSessionFactory.getSqlSession();try {// 获取Mapper接口OrderMapper mapper = sqlSession.getMapper(OrderMapper.class);Order orderQuery = new Order();orderQuery.setOrderStartDate("2024-12-06 23:59:59");orderQuery.setOrderEndDate("2024-12-07 23:59:59");// 创建QueryWrapperQueryWrapper<Order> queryWrapper = new QueryWrapper<>();queryWrapper.select("ifnull(sum(total_amount),0) AS totalAmount,count(*) AS orderCount,shop_id from tb_order").ge("order_date ",orderQuery.getOrderStartDate()).lt("order_date ",orderQuery.getOrderEndDate()).groupBy("shop_id");// 执行查询List<Map<String, Object>> results = mapper.selectMaps(queryWrapper);// 处理查询结果for (Map<String, Object> result : results) {System.out.println(result);}} finally {sqlSession.close();}
}

在这里插入图片描述

方式二、自定义SQL实现

对于复杂场景,可采用自定义SQL的方式,在 Java的mapper类中,自定义SQL,进行数据统计。

简单查询

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@Mapper
public interface OrderMapper extends BaseMapper<Order>{
@Select({"SELECT ","ifnull(sum(total_amount),0) AS totalAmount, ","count(*) AS orderCount, ","shop_id","FROM ","tb_order","WHERE ","1 = 1","AND order_date &gt;= #{orderStartDate,jdbcType=VARCHAR}","AND order_date &lt;= #{orderEndDate,jdbcType=VARCHAR}","GROUP BY","shop_id"})
}

过滤查询

若存在条件判断,则使用 if 标签,Java的mapper文件中 使用script 标签,如下所示。

@Select({"<script>","SELECT ","ifnull(sum(total_amount),0) AS totalAmount, ","count(*) AS orderCount, ","shop_id","FROM ","tb_order","<where> ","1 = 1","<if test='shopId != null '>","AND shop_id = #{shopId,jdbcType=VARCHAR}","</if>","AND order_date &gt;= #{orderStartDate,jdbcType=VARCHAR}","AND order_date &lt;= #{orderEndDate,jdbcType=VARCHAR}","</where>","GROUP BY","shop_id","</script>"
})

异常处理

1、SQL拼写异常

错误信息
Error creating document instance. Cause: org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 286; 元素内容必须由格式正确的字符数据或标记组成
异常原因
mapper对大于、小于号进行转义
处理方案
即将符号进行转义处理,如下所示。

将 大于号 改写为 &gt;
小于号 改写为 &lt;
http://www.mmbaike.com/news/97861.html

相关文章:

  • 音乐网站建设教程互联网广告
  • 集团做网站常用的搜索引擎有哪些?
  • 网站建设 用英文怎么说2023疫情第三波爆发时间
  • 兰州忠旗网站建设科技有限公司seo霸屏
  • 青岛行业网站建设电话软件怎么推广
  • 一个空间建多个网站的方法免费顶级域名申请网站
  • 如何做防水网站旅游景区网络营销案例
  • 房地产做网站如何制作一个网页
  • wordpress仿seowhy模板黄山搜索引擎优化
  • 免费网页空间申请百度seo优化招聘
  • 建站收费标准活动营销推广方案
  • 商业摄影网站网络科技有限公司
  • 做网站开创和中企动力哪家强上海疫情最新情况
  • 做英文网站用什么源码涟源网站seo
  • 什么网站做海报优化网站哪个好
  • 与狗做网站百度指数查询
  • 怎么做网站内部链接福州关键词排名软件
  • 定制网站开发接私活最近最新的新闻
  • fireworks个人网站模板百度识图搜索网页版
  • 怎样做国外网站qq群推广链接
  • 创新的网站建设推广普通话内容100字
  • 制作网站报价腾讯会议价格
  • 安徽省建设法治协会网站网页设计网站
  • 国家企业信息官网查询哈尔滨seo和网络推广
  • seo咨询价格找推推蛙黑帽seo技术有哪些
  • 青岛谁家做网站网址导航下载到桌面
  • 网站美化工具长沙seo优化
  • 网站怎么做背景小红书推广怎么收费
  • 家装设计图纸seo博客教程
  • 注册小规模公司流程以及费用seo方案怎么做