Java项目:ssm开发的Java快递代拿系统

news2024/11/16 5:43:59

作者主页:源码空间站2022

 简介:Java领域优质创作者、Java项目、学习资料、技术互助

文末获取源码

使用技术

采用 Spring + SpringMVC + MyBatisPlus,连接池采用 Druid,安全框架使用 Shiro,前端采用 Bootstrap + layer 实现。

支付采用支付宝沙箱环境,支付APP下载链接,[点击这里](https://sandbox.alipaydev.com/user/downloadApp.htm)。

支付账号:uceskd4358@sandbox.com
登录密码、支付密码:111111

**注意:**
 

请务必使用以上链接下载`沙箱支付宝`,也务必使用以上账号登录。不要使用真实支付宝APP和真实支付宝账号登录。

运行环境

- 集成开发环境:IntelliJ IDEA

- 项目构建工具:Maven
- 数据库:MYSQL 5.7+
- JDK版本:1.8
- Tomcat版本:Tomcat8

(1)首先请创建数据库:
```shell
CREATE DATABASE IF NOT EXISTS `express-ssm` /*!40100 DEFAULT CHARACTER SET utf8 */
```
(2)导入项目 sql 文件夹下的 `express-ssm.sql` 文件。
(3)编辑项目中 `src/main/resources/cnf/mysql.properties` 文件,修改数据库连接信息:
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/express-ssm?useUnicode=true&useSSL=false&characterEncoding=utf-8
jdbc.username=root # MYSQL 用户名

jdbc.password=root # MYSQL 密码

运行

项目运行时,在tomcat中配置项目运行路径为http://localhost:8080/  注意:后面不要带项目名,否则会运行出错;

默认账户

注:以下为本项目默认存在的用户名密码,请将本仓库项目在本地运行后使用以下密码登录。

| 权限   | 用户名 | 密码 |
| 管理员 | admin  | 123  |
| 配送员 | 李四   | 123  |

| 用户名 | 小红   | 123  |

运行截图

相关代码 

管理员订单Controller

package jit.wxs.express.controller.admin;

import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.plugins.Page;
import jit.wxs.express.controller.GlobalFunction;
import jit.wxs.express.dto.ExpressDto;
import jit.wxs.express.enums.ExpressStatusEnum;
import jit.wxs.express.interactive.ExpressSelectWrapper;
import jit.wxs.express.interactive.Msg;
import jit.wxs.express.pojo.Express;
import jit.wxs.express.pojo.ExpressPayment;
import jit.wxs.express.service.ExpressPaymentService;
import jit.wxs.express.service.ExpressService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * 管理员订单Controller
 * @author jitwxs
 * @date 2018/5/2 0:21
 */
@RestController
@RequestMapping("/admin/express")
public class ExpressController {
    @Autowired
    private ExpressService expressService;
    @Autowired
    private GlobalFunction globalFunction;
    @Autowired
    private ExpressPaymentService expressPaymentService;

    /**
     * 获取订单的状态列表
     * @author jitwxs
     * @since 2018/5/2 9:58
     */
    @GetMapping("/status")
    public Msg listExpressStatus() {
        List<Map<String,Object>> result = new ArrayList<>();
        for(ExpressStatusEnum enums :ExpressStatusEnum.values()) {
            Map<String,Object> map = new HashMap<>();
            map.put("id",enums.getIndex());
            map.put("name",enums.getName());
            result.add(map);
        }
        return Msg.ok(null,result);
    }

    /**
     * 订单列表
     * @param esw 筛选条件
     * @author jitwxs
     * @since 2018/5/2 0:33
     */
    @GetMapping("/list")
    public Map listExpress(Integer rows, Integer page, ExpressSelectWrapper esw, @RequestParam(defaultValue = "createDate") String order) {
        // Get请求中文编码
        try {
            esw.setName(globalFunction.iso8859ToUtf8(esw.getName()));
            esw.setStaffName(globalFunction.iso8859ToUtf8(esw.getStaffName()));
            esw.setAddress(globalFunction.iso8859ToUtf8(esw.getAddress()));
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
        // 得到筛选条件
        EntityWrapper<Express> expressWrapper = globalFunction.getExpressWrapper(esw);
        Page<Express> selectPage = expressService.selectPage(new Page<>(page, rows, order, false), expressWrapper);

        List<ExpressDto> list = globalFunction.express2dto(selectPage.getRecords());

        Map<String,Object> map = new HashMap<>(16);
        map.put("total", selectPage.getTotal());
        map.put("rows", list);
        return map;
    }

    /**
     * 获取单个订单详情
     * @author jitwxs
     * @since 2018/5/2 14:04
     */
    @GetMapping("/{id}")
    public Msg getById(@PathVariable String id) {
        Express express = expressService.selectById(id);
        ExpressDto expressDto = globalFunction.express2dto(express);

        return Msg.ok(null,expressDto);
    }

    /**
     * 分配订单
     * @param ids 订单数组
     * @param staffId 派送员id
     * @author jitwxs
     * @since 2018/5/2 16:37
     */
    @PostMapping("/assign")
    public Msg assignExpress(String[] ids,String staffId) {
        for(String id : ids) {
            Express express = expressService.selectById(id);
            // 只有订单状态为WAIT_DIST时才要分配订单
            if(ExpressStatusEnum.WAIT_DIST.getName().equals(ExpressStatusEnum.getName(express.getStatus()))) {
                express.setStaff(staffId);
                express.setStatus(ExpressStatusEnum.TRANSPORT.getIndex());
                expressService.updateById(express);
            }
        }
        return Msg.ok();
    }

    /**
     * 确认订单
     * @author jitwxs
     * @since 2018/5/13 17:51
     */
    @PostMapping("/confirm")
    public Msg confirmExpress(ExpressPayment payment) {
        String id = payment.getExpressId();

        Express express = expressService.selectById(id);
        express.setStatus(ExpressStatusEnum.COMPLTE.getIndex());
        expressService.updateById(express);

        expressPaymentService.updateById(payment);

        return Msg.ok();
    }

    /**
     * 异常订单
     * @author jitwxs
     * @since 2018/5/13 17:51
     */
    @PostMapping("/error")
    public Msg errorExpress(String[] ids, String text) {
        for(String id : ids) {
            Express express = expressService.selectById(id);
            // 只有订单状态为TRANSPORT时才要确认
            if(ExpressStatusEnum.TRANSPORT.getName().equals(ExpressStatusEnum.getName(express.getStatus()))) {
                express.setStatus(ExpressStatusEnum.ERROR.getIndex());
                express.setStaffRemark(text);
                expressService.updateById(express);
            }
        }
        return Msg.ok();
    }

    /**
     * 删除订单
     * @author jitwxs
     * @since 2018/5/2 14:05
     */
    @PostMapping("/delete")
    public Msg deleteById(String[] ids) {
        for(String id : ids) {
            Express express = expressService.selectById(id);
            if(express != null) {
                // 设置删除标记为true
                express.setHasDelete(true);
                expressService.updateById(express);
            }
        }
        return Msg.ok();
    }

    /**
     * 恢复订单
     * @author jitwxs
     * @since 2018/5/2 14:05
     */
    @PostMapping("/recycle")
    public Msg recycleById(String[] ids) {
        for(String id : ids) {
            Express express = expressService.selectById(id);
            if(express != null) {
                // 设置删除标记为false
                express.setHasDelete(false);
                expressService.updateById(express);
            }
        }
        return Msg.ok();
    }

    /**
     * 彻底删除订单
     * @author jitwxs
     * @since 2018/5/2 14:05
     */
    @PostMapping("/clean")
    public Msg cleanById(String[] ids) {
        for(String id : ids) {
            expressService.deleteById(id);
        }
        return Msg.ok();
    }
}

用户反馈Controller

package jit.wxs.express.controller.admin;

import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.plugins.Page;
import jit.wxs.express.controller.GlobalFunction;
import jit.wxs.express.dto.FeedbackDto;
import jit.wxs.express.enums.FeedbackTypeEnum;
import jit.wxs.express.interactive.FeedbackSelectWrapper;
import jit.wxs.express.interactive.Msg;
import jit.wxs.express.pojo.Feedback;
import jit.wxs.express.service.FeedbackService;
import jit.wxs.express.service.SysUserService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * 用户反馈Controller
 * @author jitwxs
 * @since 2018/5/14 14:35
 */
@RestController
@RequestMapping("/admin/feedback")
public class FeedbackController {
    @Autowired
    private FeedbackService feedbackService;
    @Autowired
    private SysUserService userService;
    @Autowired
    private GlobalFunction globalFunction;

    /**
     * 获取所有反馈类型
     * @author jitwxs
     * @since 2018/5/14 14:46
     */
    @GetMapping("/type/list")
    public Msg listFeedbackType() {
        List<Map<String,Object>> result = new ArrayList<>();
        for(FeedbackTypeEnum enums :FeedbackTypeEnum.values()) {
            Map<String,Object> map = new HashMap<>();
            map.put("id",enums.getIndex());
            map.put("name",enums.getName());
            result.add(map);
        }
        return Msg.ok(null,result);
    }

    /**
     * 获取所有反馈
     * @author jitwxs
     * @since 2018/5/14 14:35
     */
    @GetMapping("/list")
    public Map listFeedback(Integer rows, Integer page, FeedbackSelectWrapper fsw, @RequestParam(defaultValue = "createDate") String order) {
        // Get请求中文编码
        try {
            fsw.setName(globalFunction.iso8859ToUtf8(fsw.getName()));
            fsw.setStaffName(globalFunction.iso8859ToUtf8(fsw.getStaffName()));
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
        // 得到筛选条件
        EntityWrapper<Feedback> feedbackWrapper = globalFunction.getFeedbackWrapper(fsw);
        Page<Feedback> selectPage = feedbackService.selectPage(new Page<>(page, rows,order,false), feedbackWrapper);

        List<FeedbackDto> list = globalFunction.feedback2dto(selectPage.getRecords());

        Map<String,Object> map = new HashMap<>();
        map.put("total", selectPage.getTotal());
        map.put("rows", list);
        return map;
    }

    /**
     * 删除反馈
     * @author jitwxs
     * @since 2018/5/2 14:05
     */
    @PostMapping("/delete")
    public Msg deleteById(String[] ids) {
        for(String id : ids) {
            feedbackService.deleteById(id);
        }
        return Msg.ok();
    }

    /**
     * 处理反馈
     * @author jitwxs
     * @since 2018/5/14 15:06
     */
    @PostMapping("")
    public Msg handleFeedback(String id, String content) {
        if(StringUtils.isBlank(id) || StringUtils.isBlank(content)) {
            return Msg.error("参数错误");
        }
        Feedback feedback = feedbackService.selectById(id);
        // 设置处理人为当前用户
        feedback.setStaffId(globalFunction.getUserId());
        feedback.setResult(content);
        // 0代表未处理,1代表已处理;默认为0
        feedback.setStatus(1);

        feedbackService.updateById(feedback);

        return Msg.ok();
    }
}

职员管理

package jit.wxs.express.controller.admin;

import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.plugins.Page;
import jit.wxs.express.controller.GlobalFunction;
import jit.wxs.express.dto.SysUserDto;
import jit.wxs.express.enums.RoleEnum;
import jit.wxs.express.enums.SysUserStatusEnum;
import jit.wxs.express.interactive.Msg;
import jit.wxs.express.interactive.SysUserSelectWrapper;
import jit.wxs.express.pojo.SysUser;
import jit.wxs.express.service.SysUserService;
import jit.wxs.express.utils.PasswordUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.io.UnsupportedEncodingException;
import java.util.*;

/**
 * 职员管理
 * @author jitwxs
 * @date 2018/5/2 16:49
 */
@RestController
@RequestMapping("/admin/staff")
public class StaffController {
    @Autowired
    private SysUserService userService;
    @Autowired
    private GlobalFunction globalFunction;

    private void changeUserStatus(String[] ids, Integer status) {
        for(String id : ids) {
            SysUser user = userService.selectById(id);
            user.setStatus(status);
            userService.updateById(user);
        }
    }

    /**
     * 获取用户的状态列表
     * @author jitwxs
     * @since 2018/5/2 9:58
     */
    @GetMapping("/status")
    public Msg listStaffStatus() {
        List<Map<String,Object>> result = new ArrayList<>();
        for(SysUserStatusEnum enums :SysUserStatusEnum.values()) {
            Map<String,Object> map = new HashMap<>();
            map.put("id",enums.getIndex());
            map.put("name",enums.getName());
            result.add(map);
        }
        return Msg.ok(null,result);
    }

    /**
     * 获取所有的职员名,用于分配订单
     * @author jitwxs
     * @since 2018/5/14 13:38
     */
    @GetMapping("/listName")
    public Msg listStaff() {
        // 获取所有在职的职员
        List<SysUser> staffs = userService.selectList(new EntityWrapper<SysUser>()
            .eq("status", SysUserStatusEnum.ACTIVE.getIndex())
            .eq("role_id", RoleEnum.STAFF.getIndex()));

        return Msg.ok(null,staffs);
    }

    /**
     * 获取所有职员
     * @author jitwxs
     * @since 2018/5/2 16:50
     */
    @GetMapping("/list")
    public Map listStaff(Integer rows, Integer page, SysUserSelectWrapper usw) {
        // Get请求中文编码
        try {
            usw.setName(globalFunction.iso8859ToUtf8(usw.getName()));
            usw.setAddress(globalFunction.iso8859ToUtf8(usw.getAddress()));
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }

        // 得到筛选条件
        EntityWrapper<SysUser> userWrapper = globalFunction.getSysUserWrapper(usw);
        // 不显示admin角色
        userWrapper.ne("role_id", RoleEnum.ADMIN.getIndex());
        Page<SysUser> selectPage = userService.selectPage(new Page<>(page, rows), userWrapper);

        List<SysUserDto> list = globalFunction.sysUser2dto(selectPage.getRecords());

        Map<String,Object> map = new HashMap<>();
        map.put("total", selectPage.getTotal());
        map.put("rows", list);

        return map;
    }

    /**
     * 更新用户信息
     */
    @PostMapping("")
    public Msg update(SysUser user) {
        userService.updateById(user);
        return Msg.ok();
    }

    /**
     * 新增用户信息
     */
    @PostMapping("/insert")
    public Msg insert(SysUser user) {
        UUID uuid = UUID.randomUUID();
        user.setId(uuid.toString());
        user.setRoleId(1);
        user.setStatus(0);
        user.setPassword(PasswordUtils.entryptPassword("123"));
        //SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式
        user.setCreateDate(new Date());// new Date()为获取当前系统时间
        user.setUpdateDate(new Date());
        userService.insert(user);
        return Msg.ok();
    }

    /**
     * 获取用户信息
     * @author jitwxs
     * @since 2018/5/14 16:15
     */
    @GetMapping("/{id}")
    public Msg getById(@PathVariable String id) {
        SysUser user = userService.selectById(id);
        return Msg.ok(null,user);
    }

    /**
     * 修改员工为在职
     * @author jitwxs
     * @since 2018/5/13 20:42
     */
    @PostMapping("/active")
    public Msg changeActive(String[] ids) {
        changeUserStatus(ids, SysUserStatusEnum.ACTIVE.getIndex());
        return Msg.ok();
    }

    /**
     * 修改员工为冻结
     * @author jitwxs
     * @since 2018/5/13 20:42
     */
    @PostMapping("/freeze")
    public Msg changeFreeze(String[] ids) {
        changeUserStatus(ids, SysUserStatusEnum.FREEZE.getIndex());
        return Msg.ok();
    }

    /**
     * 修改员工为离职
     * @author jitwxs
     * @since 2018/5/13 20:42
     */
    @PostMapping("/leave")
    public Msg changeLeave(String[] ids) {
        changeUserStatus(ids, SysUserStatusEnum.LEAVE.getIndex());
        return Msg.ok();
    }

}

如果也想学习本系统,下面领取。关注并回复:044ssm 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/56588.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

浅谈推荐系统之内容推荐

推荐系统概念相关 维基百科定义&#xff1a; 推荐系统是一种信息过滤系统&#xff0c;用于预测用户对物品的“评分”或“偏好”。 推荐系统近年来非常流行&#xff0c;应用于各行各业。推荐的对象包括&#xff1a;电影、音乐、新闻、书籍、学术论文、搜索查询、分众分类、以及…

vmware: 磁盘加载问题导致,emergency mode: login incorrect 滚动打印

文章目录问题调试&解释异常日志为什么进入Emergency shell 呢为什么local-fs.target 失败为什么storage.mount 超时服务单元的依赖关系那最后进入emergency mode 为什么会滚Login Incorrect 日志呢plymouthsystemd-sulogin-shellsulogin解决问题 VM虚拟机启动不正常。正常…

[附源码]计算机毕业设计作业查重系统Springboot程序

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

[附源码]计算机毕业设计疫情管理系统Springboot程序

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

JS高级:Git

目录 集中式版本控制 ​编辑 分布式版本控制 Git 安装 bash-cmd-gui 基本使用 文件状态 git忽略文件 版本回退 远程仓库 gitee 凭证 SSH秘钥 管理远程仓库 开源协议 github git标签 git 分支 master 分支 分支操作 集中式版本控制 分布式版本控制 Git 安装 G…

景联文科技:一文读懂火爆全网的AIGC和背后的数据标注技术!

“在过去的几个月中&#xff0c;AIGC发展速度惊人&#xff0c;DALL-E、Midjourney和Stable Diffusion等技术的快速发展&#xff0c;创作出了许多由AI生成的艺术品。本文中&#xff0c;我们将为您阐述AIGC技术和背后所涉及的数据标注技术。" 今年八月&#xff0c;美国的一位…

计算机网络学习笔记(I)——概述

文章目录第一章—概述1.1、什么是Internet&#xff1f;从具体构成角度&#xff1a;什么是协议&#xff1f;从服务角度&#xff1a;1.2、网络边缘网络结构&#xff1a;网络边缘&#xff1a;网络边缘&#xff1a;采用网络设施的面向连接服务网络边缘&#xff1a;采用基础设施的无…

GIS工具maptalks开发手册(四)01——渲染地图信息框之添加绘制工具、获取点的坐标数据信息框进行展示

GIS工具maptalks开发手册(四)01——渲染地图信息框之添加绘制工具、获取点的坐标数据信息框进行展示 1、官网示例 官网示例-地图信息框——https://maptalks.org/examples/cn/ui-control/ui-map-infownd/#ui-control_ui-map-infownd 效果 代码 index.html <!DOCTYPE ht…

Vue 官方文档2.x教程学习笔记 1 基础 1.3 Vue 实例 1.3.1 创建一个Vue 实例 1.3.2 数据与方法

Vue 官方文档2.x教程学习笔记 文章目录Vue 官方文档2.x教程学习笔记1 基础1.3 Vue 实例1.3.1 创建一个Vue 实例1.3.2 数据与方法1 基础 1.3 Vue 实例 1.3.1 创建一个Vue 实例 每个 Vue 应用都是通过用 Vue 函数创建一个新的 Vue 实例开始的&#xff1a; var vm new Vue({/…

阿里云ACP云计算的实验考的是什么?

目前阿里云ACP云计算实验共计四个 1 使用负载均衡实现https与http的混合访问 本实验使用负载均衡配置监听&#xff0c;利用Nginx实现HTTP请求向HTTPS请求的转化&#xff0c;从而完成HTTP和HTTPS的混合访问。 实验概述 互联网巨头雅虎官方对外发布消息&#xff0c;承认在201…

Yolo算法检测之NMS(非极大值抑制)原理详解

刚开始学习算法的时候&#xff0c;nms非极大值一直学不明白&#xff0c;今天终于搞明白了&#xff0c;大致总结一下。 首先我们简单看一下NMS使用的这个背景 按照yolo目标检测算法的初步思想来说&#xff0c;把图片分成19*19网格之后&#xff0c;理论上这个19*19个网格里面包含…

JavaWeb(二)

下面的知识主要就是Servlet&#xff0c;JSP&#xff0c;EL这个顺序去总结&#xff0c;把基础打扎实 Servlet 首先咱们肯定一直听说Servlet&#xff0c;经常说servlet容器&#xff0c;但是具体Servlet是个啥呢。咱们今天就去深入探讨一下。 咱们看一下菜鸟权威教程的解释 Java…

高通平台稳定性分析-CFI failure

一、查看 dmesg_TZ.txt中的错误: Kernel panic - not syncing: CFI failure (target: 0xffffff804323a848) Call trace: dump_backtrace.cfi_jt+0x0/0x8 dump_stack_lvl+0x94/0xe0 panic+0x1a0/0x468 cfi_module_add+0x0/0x24 find_check_fn+0x0/0x258 cam_subdev_ioct…

Kanzi:项目实例:智能灯光SmartControl界面设计

概述&#xff1a; 智能灯光是指&#xff1a;在满足一定条件下&#xff0c;自动显示一些 智能开关&#xff08;如&#xff1a;自动远光灯开关&#xff0c;延时下电开关&#xff0c;智能熄火开关&#xff0c;智能顶灯开关&#xff09;。 他们点亮的共同点是 1&#xff1a;标定…

[附源码]JAVA毕业设计红河旅游信息服务系统(系统+LW)

[附源码]JAVA毕业设计红河旅游信息服务系统&#xff08;系统LW&#xff09; 目运行 环境项配置&#xff1a; Jdk1.8 Tomcat8.5 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目…

[附源码]计算机毕业设计springboot项目管理系统的专家评审模块

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

【MySQL Router】使用 systemd 管理 MySQL Router

使用 systemd 管理 MySQL Router 文章目录使用 systemd 管理 MySQL Router排错过程升级操作系统内核未修改相关文件的属主&#xff0c;直接用 mysqlrouter 重新引导配置操作系统 limit 相关参数用户及其权限问题结语在之前的文章 【 InnoDB Cluster 】安装部署 MySQL Router 中…

Elasticsearch_第2章_ elasticsearch_进阶

Elasticsearch_第2章_ elasticsearch_进阶 文章目录Elasticsearch_第2章_ elasticsearch_进阶0.学习目标1.数据聚合1.1.聚合的种类1.2.DSL实现聚合1.2.1.Bucket聚合语法1.2.2.聚合结果排序1.2.3.限定聚合范围1.2.4.Metric聚合语法1.2.5.小结1.3.RestAPI实现聚合1.3.1.API语法1.…

Conv2Former

又发现了一个说比Transformer好的,通过充分利用卷积探索一种更高效的编码空域特征的方式&#xff1a;通过组合ConvNet与ViT的设计理念&#xff0c;本文利用卷积调制操作对自注意力进行了简化&#xff0c;进而构建了一种新的ConvNet架构Conv2Former超简Transformer风格ConvNet&a…

Python基础之MySql数据库交互

Python基础之MySql数据库交互一、使用MySql进行持久化存储二、安装MySql数据库和Python库PyMySQL三、使用pymysql链接mysql数据库四、创建表五、插入数据六、后记一、使用MySql进行持久化存储 在任何应用中&#xff0c;都需要持久化存储。一般有 3 种基础的存储机制&#xff1…