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

尚庭公寓项目记录

数据库准备

  • 保留图像时,保存图像地址就可以
  • 数据表不是越多越好,可以用中间表来实现俩个表之间的联立
  • 这样方便查数据但是却带来性能问题
  • 而减少表的jion但是提高性能,以冗余来换去性能
  • 采用MySQL,InnoDB存储引擎
  • 物理删除和逻辑删除
  • 逻辑删除有一个标记,后面会过滤掉
  • 大数据时代,数据比较重要,被删除的数据也很重要

接口定义

  • 根据页面的信息,每个模块需要什么接口,哪些可以共用一个接口
  • 但终归是增删改查,但是看需要通过什么来查询信息,是有条件还是查询全部
  • 根据ID删除属性和值,根据分页查询列表,比如嵌套的列表,省市县等
  • 上传图像功能
  • 根据ID查询房间详细信息(用作修改时的表单回显)
  • 登录功能:获取图形验证码,请求登录,获取登录用户信息
  • 增删改查,一般保存是不向后台新增ID的,该增加是有的

准备开发环境

两台Linux虚拟机

在其中一台,部署MySQL,Redis,MinIO

技术储备

MyBatis Plus快速入门

创建一个表,设置它的编码方式

CREATE DATABASE hello_mp CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

前面设定字符集,后面设定字符集的排序规则

id设置了自动增长,bigint比int有更长的字符设定

comment是对数据库对象的描述

primary是把id设置为主键

引入Maven依赖的时候,groupId一般写反向域名格式,来避免进行冲突

配置MySQL的时候,下面的URL是虚拟机的IP地址

创建实体时,Ctrl加v直接生成对应实体类

实体类注解:

通用Mapper

通用service

继承泛型接口,需要传入实体类

通过继承通用mapper接口和通用service接口

只不过方法略有区别

但是,实际上,mapper方法是封装在service接口下的

都是先定义一个接口,然后再定义一个实现类

条件构造器

MyBatis Plus共提供了两类构造器,分别是`QueryWrapper`和`UpdateWrapper`。其中`QueryWrapper`主要用于查询、删除操作,`UpdateWrapper`主要用于更新操作

QueryWrapper支持链式操作

考虑优先级的情况,匿名的子类对象可以替换成lambda表达式

LambdaWrapperTest类

传入的格式不一样

分页插件

总结:

简单的查询可以用通用Mapper和通用service

复杂的查询需要用条件构造器和分页插件

MyBatisX插件

使用它可根据数据库快速生成EntityMapperMapper.xmlServiceServiceImpl等代码

MinIO

对象存储服务

可以上传图片什么的,为其分配一个ID,即url,端点加绝对路径

Redis

概念:

基于内存储存,存储性能速度惊人,通过键值对储存,通常用作缓存服务

特点:

高性能,支持多种数据结构,持久化,灵活的数据过期策略

持久化方式:

定期快照 :有时间间隔,但是不实时,只能恢复最近的快照,容易数据丢失

实时记录写操作日志:恢复的时候比较慢,写操作太多

应用场景:

用作缓存,缓存可以显著提升访问速度,降低数据库压力。

Redis常用数据类型及命令:


http://www.mrgr.cn/news/93255.html

相关文章:

  • AD学习-最小系统板,双层
  • Ubuntu 22.04安装NVIDIA A30显卡驱动
  • Dify+DeepSeek | Excel数据一键可视化(创建步骤案例)(echart助手.yml)(文档表格转图表、根据表格绘制图表、Excel绘制图表)
  • VIA的寄生电感和Stub对高速信号的影响
  • 单细胞分析(21)——SCENIC 分析流程(singularity容器版)
  • RT-thread的MultiButton按键库的使用
  • 记录一次Spring事务失效导致的生产问题
  • 【DeepSeek 】学习编程的利器:DeepSeek 使用指南
  • 由麻省理工学院计算机科学与人工智能实验室等机构创建低成本、高效率的物理驱动数据生成框架,助力接触丰富的机器人操作任务
  • 给没有登录认证的web应用添加登录认证(openresty lua实现)
  • VsCode 快捷键备忘
  • DeepSeek、Grok 和 ChatGPT 对比分析:从技术与应用场景的角度深入探讨
  • ROS系统(三)编程基础
  • Docker 学习(一)
  • ubuntu20系统下conda虚拟环境下安装文件存储位置
  • springBoot文件上传、下载
  • 使用Qt调用HslCommunication(C++调用C#库)
  • P3385 【模板】负环
  • 带你从入门到精通——自然语言处理(五. Transformer中的自注意力机制和输入部分)
  • 使用sympy求解给定函数表达式的拉普拉斯变换