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

家电维修企业网站源码淘宝关键词推广

家电维修企业网站源码,淘宝关键词推广,产业互联网排名,有关网站设计的文章MyBatis-Plus 是一个基于 MyBatis 的增强工具,它提供了一套方便的注解方式来进行 SQL 查询。其中,它结合了条件构造器(Wrapper)和自定义 SQL 片段来构建查询语句。 官网:条件构造器 | MyBatis-Plus 1、使用 Wrapper …

MyBatis-Plus 是一个基于 MyBatis 的增强工具,它提供了一套方便的注解方式来进行 SQL 查询。其中,它结合了条件构造器(Wrapper)和自定义 SQL 片段来构建查询语句。

官网:条件构造器 | MyBatis-Plus

1、使用 Wrapper 自定义SQL注意事项

 需要mybatis-plus版本 >= 3.0.7

2、直接通过一个简单的示例进行讲解:

假设我们有一个名为"Order"的表,包含"orderId"和"amount"两列:

import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;@Data
public class Order {private Long orderId;private Long userId;private BigDecimal amount;private LocalDateTime createTime;
}

 现在,我们要查询某个用户在指定时间范围内的订单金额总和。可以按照以下方式编写代码:

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.reflection.Constants;public interface OrderMapper extends BaseMapper<Order> {@Select("select sum(amount) from `order` ${ew.customSqlSegment}")BigDecimal queryTotalAmountByUserAndDate(@Param(Constants.WRAPPER) LambdaQueryWrapper<Order> wrapper);
}

在上述代码中,我们定义了一个接口OrderMapper,继承自BaseMapper<Order>,并添加了一个方法queryTotalAmountByUserAndDate用于查询订单金额总和。LambdaQueryWrapper<Order>用于构建查询条件。


接下来,在你的业务逻辑代码中,可以按照以下方式使用该方法:

import java.math.BigDecimal;
import java.time.LocalDateTime;// ...private BigDecimal queryTotalAmountByUserAndDate(Long userId, LocalDateTime begin, LocalDateTime end) {LambdaQueryWrapper<Order> wrapper = new LambdaQueryWrapper<Order>().eq(Order::getUserId, userId).between(Order::getCreateTime, begin, end);BigDecimal totalAmount = orderMapper.queryTotalAmountByUserAndDate(wrapper);return totalAmount == null ? BigDecimal.ZERO : totalAmount;
}

在上述代码中,我们创建了一个LambdaQueryWrapper<Order>对象,并使用eq方法和between方法分别指定了用户ID和时间范围的条件。

然后,我们调用queryTotalAmountByUserAndDate方法,并传入该wrapper对象进行查询。最后,根据查询结果判断并返回订单金额总和。 


3、具体分析二者是如何结合使用的

(1)当使用SQL和Wrapper结合进行查询时,SQL用于编写具体的SQL语句,而Wrapper用于构建查询条件。

(2)SQL语句中的${ew.customSqlSegment}会被Wrapper对象中的条件替换,从而形成最终的SQL查询语句。Wrapper对象中的条件会根据具体的方法调用来生成相应的SQL片段,并替换${ew.customSqlSegment}


在示例中:

我们使用了LambdaQueryWrapper作为Wrapper对象,它提供了一系列方法来构建查询条件,如eqbetween等。

同时,我们在SQL语句中使用了sum(amount)来求和,这个部分是纯粹的SQL语法。

最后,通过调用queryTotalAmountByUserAndDate方法,我们将Wrapper对象传递给Mapper接口的查询方法,并使用${ew.customSqlSegment}将Wrapper中的条件注入到SQL语句中。执行查询后,得到的结果会返回给调用方。

(3)综上所述,SQL和Wrapper的结合使用,可以通过Wrapper构建查询条件,然后将条件注入到SQL语句中,从而实现灵活的查询操作。


4、这样使用的原因

因为,MyBatis-Plus并没有直接提供对于SUM求和的方法。你可以使用MyBatis-Plus的@Select注解结合自定义SQL来实现对某个字段的求和操作,并且通过Wrapper构建查询条件,简直不要太好用哦!!!

http://www.shuangfujiaoyu.com/news/49566.html

相关文章:

  • 网站集约化建设的总体情况扬州整站seo
  • 电子商务网站的建设与运营怎么样做免费的百度seo
  • wordpress 升级 ftpseo营销技巧培训班
  • 网站产品详情页怎么做seo搜索引擎优化就业前景
  • 怎么让别人找你做网站山西seo优化公司
  • 网站建设有什么好处流量查询网站
  • 安监局网站做模拟百度快照优化推广
  • 做暧暧小视频网站免费b站软件下载
  • 中企动力建设的网站如何修改福建seo排名培训
  • 自己的ip做网站公司网络搭建
  • 官方网站找做化妆品套盒子2022年app拉新推广项目
  • 网站如何做实名验证怎样让自己的网站排名靠前
  • 苏州小程序开发外包神马seo服务
  • 北京城市副中心投资建设公司网站秘密入口3秒自动进入
  • 怎么在网站上做排名企业网址搭建
  • 对二次网站开发的认识互联网营销专家
  • 服务器做网站空间整合营销包括哪些内容
  • seo任务seo排名优化联系13火星软件
  • 怎么做盗版视频网站个人网站网页首页
  • 做钢化膜网站网站分析报告
  • 网站测试重点是哪几个部分软文代写公司
  • 在哪个网站可以做外单衣服成都网络运营推广
  • 怎么做美食的网站百度竞价推广账户
  • 做购物网站的数据库关键词排名批量查询
  • 网站设计 济南百度关键词刷排名软件
  • 网站建设管理的规章制度微信社群营销
  • 做网编去网站还是工作室好宁波seo排名优化价格
  • 垂直电商网站开发微信营销神器
  • 网站建设奕网情深seo怎么赚钱
  • 服装设计专业比较好的学校微信seo什么意思