基于ssm vue技术的品牌银饰售卖平台源码和论文737

摘  要

本论文主要是针对品牌银饰售卖而开发进行概述,主要包括对研究的背景和研究现状,以及研究目的等的阐述,也对该系统的各种功能要求,对系统结构,数据库的设计等进行讨论。随着科技与技术的发展,利用计算机以及网络来提高工作效率已是大势所趋,希望该系统能有所帮助。本论文讨论的是品牌银饰售卖平台,此系统运用了B/S结构(浏览器/服务器),同时加上动态网页开发技术Java语言以及mysql数据库一起开发完成的。该系统能完成的主要功能分为管理员和用户两个用户角色。主要功能包括首页、个人中心、用户管理、促销活动管理、饰品管理、我的收藏管理、系统管理、订单管理等。而用户登入系统也可以对自己的信息以及修改个人资料进行查看等功能。该系统在完成设计以及测试之后,运行稳定且操作方便快捷,能满足设计开发之初的要求。

关键词:品牌银饰售卖;java;mysql数据库

基于ssm vue技术的品牌银饰售卖平台源码和论文737

演示视频:

基于ssm vue技术的品牌银饰售卖平台源码和论文

Abstract

This paper mainly summarizes the development of brand silver jewelry sales, including the background and status quo of the research, as well as the purpose of the research, and also discusses the various functional requirements of the system, system structure, database design and so on. With the development of science and technology, the use of computer and network to improve work efficiency has been a general trend, hope that the system can help. This paper discusses the brand silver jewelry sales platform, this system uses B/S structure (browser/server), coupled with dynamic web development technology Java language and mysql database developed together. The main functions of the system can be divided into two user roles: administrator and user. The main functions include home page, personal center, user management, promotion management, jewelry management, my collection management, system management, order management and so on. And the user login system can also view their own information and modify personal information and other functions. After the completion of the design and test, the system runs stably and operates easily and quickly, which can meet the requirements of the initial design and development.

Key words: brand silver jewelry sales; Java; The mysql database

package com.controller;import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Map;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;import com.utils.ValidatorUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.annotation.IgnoreAuth;import com.entity.OrdersEntity;
import com.entity.view.OrdersView;import com.service.OrdersService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.CommonUtil;/*** 订单* 后端接口* @author * @email * @date 2022-04-09 16:49:05*/
@RestController
@RequestMapping("/orders")
public class OrdersController {@Autowiredprivate OrdersService ordersService;/*** 后端列表*/@RequestMapping("/page")public R page(@RequestParam Map<String, Object> params,OrdersEntity orders, HttpServletRequest request){if(!request.getSession().getAttribute("role").toString().equals("管理员")) {orders.setUserid((Long)request.getSession().getAttribute("userId"));}EntityWrapper<OrdersEntity> ew = new EntityWrapper<OrdersEntity>();PageUtils page = ordersService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, orders), params), params));return R.ok().put("data", page);}/*** 前端列表*/@IgnoreAuth@RequestMapping("/list")public R list(@RequestParam Map<String, Object> params,OrdersEntity orders, HttpServletRequest request){EntityWrapper<OrdersEntity> ew = new EntityWrapper<OrdersEntity>();PageUtils page = ordersService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, orders), params), params));return R.ok().put("data", page);}/*** 列表*/@RequestMapping("/lists")public R list( OrdersEntity orders){EntityWrapper<OrdersEntity> ew = new EntityWrapper<OrdersEntity>();ew.allEq(MPUtil.allEQMapPre( orders, "orders")); return R.ok().put("data", ordersService.selectListView(ew));}/*** 查询*/@RequestMapping("/query")public R query(OrdersEntity orders){EntityWrapper< OrdersEntity> ew = new EntityWrapper< OrdersEntity>();ew.allEq(MPUtil.allEQMapPre( orders, "orders")); OrdersView ordersView =  ordersService.selectView(ew);return R.ok("查询订单成功").put("data", ordersView);}/*** 后端详情*/@RequestMapping("/info/{id}")public R info(@PathVariable("id") Long id){OrdersEntity orders = ordersService.selectById(id);return R.ok().put("data", orders);}/*** 前端详情*/@IgnoreAuth@RequestMapping("/detail/{id}")public R detail(@PathVariable("id") Long id){OrdersEntity orders = ordersService.selectById(id);return R.ok().put("data", orders);}/*** 后端保存*/@RequestMapping("/save")public R save(@RequestBody OrdersEntity orders, HttpServletRequest request){orders.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(orders);orders.setUserid((Long)request.getSession().getAttribute("userId"));ordersService.insert(orders);return R.ok();}/*** 前端保存*/@RequestMapping("/add")public R add(@RequestBody OrdersEntity orders, HttpServletRequest request){orders.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(orders);ordersService.insert(orders);return R.ok();}/*** 修改*/@RequestMapping("/update")public R update(@RequestBody OrdersEntity orders, HttpServletRequest request){//ValidatorUtils.validateEntity(orders);ordersService.updateById(orders);//全部更新return R.ok();}/*** 删除*/@RequestMapping("/delete")public R delete(@RequestBody Long[] ids){ordersService.deleteBatchIds(Arrays.asList(ids));return R.ok();}/*** 提醒接口*/@RequestMapping("/remind/{columnName}/{type}")public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request, @PathVariable("type") String type,@RequestParam Map<String, Object> map) {map.put("column", columnName);map.put("type", type);if(type.equals("2")) {SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");Calendar c = Calendar.getInstance();Date remindStartDate = null;Date remindEndDate = null;if(map.get("remindstart")!=null) {Integer remindStart = Integer.parseInt(map.get("remindstart").toString());c.setTime(new Date()); c.add(Calendar.DAY_OF_MONTH,remindStart);remindStartDate = c.getTime();map.put("remindstart", sdf.format(remindStartDate));}if(map.get("remindend")!=null) {Integer remindEnd = Integer.parseInt(map.get("remindend").toString());c.setTime(new Date());c.add(Calendar.DAY_OF_MONTH,remindEnd);remindEndDate = c.getTime();map.put("remindend", sdf.format(remindEndDate));}}Wrapper<OrdersEntity> wrapper = new EntityWrapper<OrdersEntity>();if(map.get("remindstart")!=null) {wrapper.ge(columnName, map.get("remindstart"));}if(map.get("remindend")!=null) {wrapper.le(columnName, map.get("remindend"));}if(!request.getSession().getAttribute("role").toString().equals("管理员")) {wrapper.eq("userid", (Long)request.getSession().getAttribute("userId"));}int count = ordersService.selectCount(wrapper);return R.ok().put("count", count);}/*** (按值统计)*/@RequestMapping("/value/{xColumnName}/{yColumnName}")public R value(@PathVariable("yColumnName") String yColumnName, @PathVariable("xColumnName") String xColumnName,HttpServletRequest request) {Map<String, Object> params = new HashMap<String, Object>();params.put("xColumn", xColumnName);params.put("yColumn", yColumnName);EntityWrapper<OrdersEntity> ew = new EntityWrapper<OrdersEntity>();ew.in("status", new String[]{"已支付","已发货","已完成"});List<Map<String, Object>> result = ordersService.selectValue(params, ew);SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");for(Map<String, Object> m : result) {for(String k : m.keySet()) {if(m.get(k) instanceof Date) {m.put(k, sdf.format((Date)m.get(k)));}}}return R.ok().put("data", result);}/*** (按值统计)时间统计类型*/@RequestMapping("/value/{xColumnName}/{yColumnName}/{timeStatType}")public R valueDay(@PathVariable("yColumnName") String yColumnName, @PathVariable("xColumnName") String xColumnName, @PathVariable("timeStatType") String timeStatType,HttpServletRequest request) {Map<String, Object> params = new HashMap<String, Object>();params.put("xColumn", xColumnName);params.put("yColumn", yColumnName);params.put("timeStatType", timeStatType);EntityWrapper<OrdersEntity> ew = new EntityWrapper<OrdersEntity>();ew.in("status", new String[]{"已支付","已发货","已完成"});List<Map<String, Object>> result = ordersService.selectTimeStatValue(params, ew);SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");for(Map<String, Object> m : result) {for(String k : m.keySet()) {if(m.get(k) instanceof Date) {m.put(k, sdf.format((Date)m.get(k)));}}}return R.ok().put("data", result);}/*** 分组统计*/@RequestMapping("/group/{columnName}")public R group(@PathVariable("columnName") String columnName,HttpServletRequest request) {Map<String, Object> params = new HashMap<String, Object>();params.put("column", columnName);EntityWrapper<OrdersEntity> ew = new EntityWrapper<OrdersEntity>();ew.in("status", new String[]{"已支付","已发货","已完成"});List<Map<String, Object>> result = ordersService.selectGroup(params, ew);SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");for(Map<String, Object> m : result) {for(String k : m.keySet()) {if(m.get(k) instanceof Date) {m.put(k, sdf.format((Date)m.get(k)));}}}return R.ok().put("data", result);}
}

 

package com.controller;import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Map;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;import com.utils.ValidatorUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.annotation.IgnoreAuth;import com.entity.CuxiaohuodongEntity;
import com.entity.view.CuxiaohuodongView;import com.service.CuxiaohuodongService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.CommonUtil;
import com.service.StoreupService;
import com.entity.StoreupEntity;/*** 促销活动* 后端接口* @author * @email * @date 2022-04-09 16:49:04*/
@RestController
@RequestMapping("/cuxiaohuodong")
public class CuxiaohuodongController {@Autowiredprivate CuxiaohuodongService cuxiaohuodongService;@Autowiredprivate StoreupService storeupService;/*** 后端列表*/@RequestMapping("/page")public R page(@RequestParam Map<String, Object> params,CuxiaohuodongEntity cuxiaohuodong, HttpServletRequest request){EntityWrapper<CuxiaohuodongEntity> ew = new EntityWrapper<CuxiaohuodongEntity>();PageUtils page = cuxiaohuodongService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, cuxiaohuodong), params), params));return R.ok().put("data", page);}/*** 前端列表*/@IgnoreAuth@RequestMapping("/list")public R list(@RequestParam Map<String, Object> params,CuxiaohuodongEntity cuxiaohuodong, HttpServletRequest request){EntityWrapper<CuxiaohuodongEntity> ew = new EntityWrapper<CuxiaohuodongEntity>();PageUtils page = cuxiaohuodongService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, cuxiaohuodong), params), params));return R.ok().put("data", page);}/*** 列表*/@RequestMapping("/lists")public R list( CuxiaohuodongEntity cuxiaohuodong){EntityWrapper<CuxiaohuodongEntity> ew = new EntityWrapper<CuxiaohuodongEntity>();ew.allEq(MPUtil.allEQMapPre( cuxiaohuodong, "cuxiaohuodong")); return R.ok().put("data", cuxiaohuodongService.selectListView(ew));}/*** 查询*/@RequestMapping("/query")public R query(CuxiaohuodongEntity cuxiaohuodong){EntityWrapper< CuxiaohuodongEntity> ew = new EntityWrapper< CuxiaohuodongEntity>();ew.allEq(MPUtil.allEQMapPre( cuxiaohuodong, "cuxiaohuodong")); CuxiaohuodongView cuxiaohuodongView =  cuxiaohuodongService.selectView(ew);return R.ok("查询促销活动成功").put("data", cuxiaohuodongView);}/*** 后端详情*/@RequestMapping("/info/{id}")public R info(@PathVariable("id") Long id){CuxiaohuodongEntity cuxiaohuodong = cuxiaohuodongService.selectById(id);return R.ok().put("data", cuxiaohuodong);}/*** 前端详情*/@IgnoreAuth@RequestMapping("/detail/{id}")public R detail(@PathVariable("id") Long id){CuxiaohuodongEntity cuxiaohuodong = cuxiaohuodongService.selectById(id);return R.ok().put("data", cuxiaohuodong);}/*** 赞或踩*/@RequestMapping("/thumbsup/{id}")public R thumbsup(@PathVariable("id") String id,String type){CuxiaohuodongEntity cuxiaohuodong = cuxiaohuodongService.selectById(id);if(type.equals("1")) {cuxiaohuodong.setThumbsupnum(cuxiaohuodong.getThumbsupnum()+1);} else {cuxiaohuodong.setCrazilynum(cuxiaohuodong.getCrazilynum()+1);}cuxiaohuodongService.updateById(cuxiaohuodong);return R.ok();}/*** 后端保存*/@RequestMapping("/save")public R save(@RequestBody CuxiaohuodongEntity cuxiaohuodong, HttpServletRequest request){cuxiaohuodong.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(cuxiaohuodong);cuxiaohuodongService.insert(cuxiaohuodong);return R.ok();}/*** 前端保存*/@IgnoreAuth@RequestMapping("/add")public R add(@RequestBody CuxiaohuodongEntity cuxiaohuodong, HttpServletRequest request){cuxiaohuodong.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(cuxiaohuodong);cuxiaohuodongService.insert(cuxiaohuodong);return R.ok();}/*** 修改*/@RequestMapping("/update")public R update(@RequestBody CuxiaohuodongEntity cuxiaohuodong, HttpServletRequest request){//ValidatorUtils.validateEntity(cuxiaohuodong);cuxiaohuodongService.updateById(cuxiaohuodong);//全部更新return R.ok();}/*** 删除*/@RequestMapping("/delete")public R delete(@RequestBody Long[] ids){cuxiaohuodongService.deleteBatchIds(Arrays.asList(ids));return R.ok();}/*** 提醒接口*/@RequestMapping("/remind/{columnName}/{type}")public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request, @PathVariable("type") String type,@RequestParam Map<String, Object> map) {map.put("column", columnName);map.put("type", type);if(type.equals("2")) {SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");Calendar c = Calendar.getInstance();Date remindStartDate = null;Date remindEndDate = null;if(map.get("remindstart")!=null) {Integer remindStart = Integer.parseInt(map.get("remindstart").toString());c.setTime(new Date()); c.add(Calendar.DAY_OF_MONTH,remindStart);remindStartDate = c.getTime();map.put("remindstart", sdf.format(remindStartDate));}if(map.get("remindend")!=null) {Integer remindEnd = Integer.parseInt(map.get("remindend").toString());c.setTime(new Date());c.add(Calendar.DAY_OF_MONTH,remindEnd);remindEndDate = c.getTime();map.put("remindend", sdf.format(remindEndDate));}}Wrapper<CuxiaohuodongEntity> wrapper = new EntityWrapper<CuxiaohuodongEntity>();if(map.get("remindstart")!=null) {wrapper.ge(columnName, map.get("remindstart"));}if(map.get("remindend")!=null) {wrapper.le(columnName, map.get("remindend"));}int count = cuxiaohuodongService.selectCount(wrapper);return R.ok().put("count", count);}}

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

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

相关文章

Qt篇——QChartView实现鼠标滚轮缩放、鼠标拖拽平移、鼠标双击重置缩放平移、曲线点击显示坐标

话不多说。 第一步&#xff1a;自定义QChartView&#xff0c;直接搬 FirtCurveChartView.h #ifndef FITCURVECHARTVIEW_H #define FITCURVECHARTVIEW_H #include <QtCharts>class FitCurveChartView : public QChartView {Q_OBJECTpublic:FitCurveChartView(QWidget *…

MySQL 8.x 自签证书通过keytool和openssl转成JKS文件

一、写在前面 数据库MySQL 8.0 通过自签命令在datadir下生成了所有的证书文件。由于Java的JDK不支持直接加载PEM格式的证书&#xff0c;所以需要将PEM格式证书转换成Java能够直接加载的JKS格式证书。我们需要将根证书ca.pem转换成JKS格式的根证书truststore.jks&#xff0c;将…

把 Windows 11 装进移动硬盘:Windows 11 To Go

本篇文章聊聊如何制作一个可以“说带走就带走”的 Windows 操作系统&#xff0c;将 Windows11 做成能够放在 U 盘或者移动硬盘里的 WinToGo “绿色软件”。 写在前面 在《开源的全能维护 U 盘工具&#xff1a;Ventoy》这篇文章的最后&#xff0c;我提到了一个关键词 “WinToG…

html之JS

1、JS的引入 <!-- 内嵌 --><!-- <script>alert(4)</script> --><!-- 外引 --><!-- 内嵌和外引同时有的时候&#xff0c;内嵌被覆盖 --><script src"js/index.js" defer></script>//defer 延迟执行 2、js的变量使用…

基于IText7 PDF模板填充?

引入依赖 <dependency><groupId>com.itextpdf</groupId><artifactId>itext7-core</artifactId><version>8.0.1</version><type>pom</type> </dependency> <dependency><groupId>com.itextpdf</gr…

Mybatis XML 配置文件

我们刚开始就有说Mybatis 的开发有两种方式: 1.注释 2.XML 注解和 XML 的方式是可以共存的 我们前面说的都是注释的方式,接下来是XML方式 XML的方式分为三步 : 1.配置数据库(配在 application.yml 里面) 这个跟注释的配置是一样的,username应该都是一样的,password记得写…

1. 小游戏(贪心)

题干&#xff1a; 谷同学很喜欢玩计算机游戏&#xff0c;特别是战略游戏&#xff0c;但是有时他不能尽快找到解所以常常感到很沮丧。现在面临如下问题&#xff1a;他必须在一个中世纪的城堡里设防&#xff0c;城堡里的道路形成一棵无向树。要在结点上安排最少的士兵使得他们可以…

MySql配置主从服务器复制数据库数据

主从服务器MySql版本尽可能一致。如果不一致的情况此文没考虑。 主服务器必须开启二进制日志文件。查看是否开启&#xff1a; SHOW VARIABLES LIKE log_bin; 开启方法&#xff0c;只需要在配置文件添加如下配置&#xff1a; [mysqld] log-binmysql-bin 1、MySql主服务器…

6.Eclipse里下载Subclipse插件

方法一&#xff1a;从Eclipse Marketplace里面下载 具体操作&#xff1a;打开Eclipse --> Help --> Eclipse Marketplace --> 在Find中输入subclipse搜索 --> 找到subclipse点击install 方法二&#xff1a;从Install New Software里下载 具体操作&#xff1a;打开…

高压电网过电压在线监测系统的研究

摘要 由于高压输电线路纵横延伸几十甚至几百千米&#xff0c;处在不同的环境中。因此高压输电线路受所处地理环境和气候影响很大&#xff0c;每年电网停电事故主要由线路事故引起。传统输电线路检查主要依靠运行维护人员周期性巡视&#xff0c;虽能发现设备隐患&#xff0c;但…

Qt与Sqlite3

操作流程&#xff1a; (1)与数据库连接 (2)进行增删改查操作 (3)关闭数据库 示例&#xff1a; 参考&#xff1a;Qt 操作SQLite数据库_qt sqlite数据库操作_houxian1103的博客-CSDN博客 再谈QSqlQuery::exec: database not open问题的解决_qt database not open-CSDN博客…

JavaScript中的递归函数

再此之前呢&#xff0c;我们要先知道什么是递归函数&#xff1f; 一.什么是递归函数&#xff1f; 递归函数&#xff1a;是一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法&#xff0c;也是一种循环运算的一种算法模式。这种技术可以用来解决一些复杂的问题&…

OSPF浅析

一、预习&#xff1a; 1、优点&#xff1a; 是一种典型的链路状态路由协议&#xff0c;协议号89&#xff0c;把大型网络分隔为多个较小、可管理的单元&#xff1a;Area a.减少LSA泛洪范围&#xff0c;有效地把拓朴变化 控制在区域内&#xff0c;达到网络优化的目的…

nodejs微信小程序+python+PHP本科生优秀作业交流网站的设计与实现-计算机毕业设计推荐

通过软件的需求分析已经获得了系统的基本功能需求&#xff0c;根据需求&#xff0c;将本科生优秀作业交流网站功能模块主要分为管理员模块。管理员添加系统首页、个人中心、用户管理、作业分类管理、作业分享管理、论坛交流、投诉举报、系统管理等操作。 随着信息化社会的形成…

【面试HOT200】二叉树的构建二叉搜索树篇

系列综述&#xff1a; &#x1f49e;目的&#xff1a;本系列是个人整理为了秋招面试的&#xff0c;整理期间苛求每个知识点&#xff0c;平衡理解简易度与深入程度。 &#x1f970;来源&#xff1a;材料主要源于【CodeTopHot200】进行的&#xff0c;每个知识点的修正和深入主要参…

Leetcode 77 组合

题意理解&#xff1a; 给定两个整数 n 和 k&#xff0c;返回范围 [1, n] 中所有可能的 k 个数的组合。 如&#xff1a;n3,k2,则有&#xff1a;12 13 23 一般&#xff0c;我们使用回溯法来解决组合问题。 组合问题没有顺序要求&#xff0c;所以 12 21 是同一个组合&#xff08;如…

【Linux知识点汇总】01 Linux常见版本

常见的Linux发行版&#xff08;Distribution&#xff0c;简称为distro&#xff09;有很多&#xff0c;它们在用途、包管理系统、默认桌面环境等方面可能有所不同 CentOS 特点&#xff1a; 企业级稳定性&#xff0c;是Red Hat Enterprise Linux&#xff08;RHEL&#xff09;的开…

黑苹果配置清单

手里的MacBookPro已经快沦为电子垃圾了&#xff0c;平时用MacOS比较多&#xff0c;Window用的比较少&#xff0c;而苹果电脑的价格不管是MacBookPro还是MacMini丐版的便宜但是面对现在Window动不动就64g内存的情况就显得微不足道了&#xff0c;高配的价格直接把我劝退&#xff…

PostgreSql HOT 技术

摘自唐成的《PostgreSQL修炼之道&#xff1a;从小工到专家&#xff08;第2版&#xff09;》。 一、概述 因为多版本的原因&#xff0c;当 PostgreSQL 中更新一行时&#xff0c;实际上原数据行并不会被删除&#xff0c;只是插入了一个新行。如果表上有索引&#xff0c;而更新的…

Leetcode题库(数据库合集)_ 难度:中等

目录 难度&#xff1a;中等1.股票的资本损益2. 当选者3. 页面推荐4. 2016年的投资5. 买下所有产品的人6. 电影评分6. 确认率7. 按分类统计薪水8. 餐馆营业额的变化增长8. 即时食物配送 ①9. 至少有5名直系下属的经理10. 游戏玩法分析11. 好友申请&#xff1a;谁有最多的好友12.…