SpringBoot项目开发笔记
文章平均质量分 90
b站自学java项目的笔记
苏雨流丰
这个作者很懒,什么都没留下…
展开
-
Java Web项目—餐饮管理系统【last day】-Niginx前后端分离
Nginx是一款轻量级的web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx的网站有:百度、京东.新浪、网易、腾讯、淘宝等。官网: https://nginx.org。原创 2024-03-23 18:00:00 · 1091 阅读 · 0 评论 -
Java Web项目—餐饮管理系统Day14-MySQL主从复制与读写分离
MySQL主从复制是一个异步的复制过程, 底层基于 Mysql 数据库自带的二进制日志功能, 是一台或多台 Mysql 数据库(slave, 即从库)从另一台 Mysql 数据库(master, 即主库)进行日志的复制然后再解析日志并应用到自身, 最终实现从库的数据和主库的数据保持一致的过程。是指将数据库的读操作和写操作分离到不同的数据库服务器上,以提高数据库的性能和可用性。同时,通过将读操作分发到多个服务器上,可以提高数据库的可用性,当某个服务器发生故障时,其他服务器可以继续提供读服务。原创 2024-03-22 14:02:53 · 1118 阅读 · 0 评论 -
Java Web项目—餐饮管理系统Day13-版本管理与缓存优化
使用 IDEA 界面进行控制, 具体的, 先清理代码, 将第一版(该版本完成了后台管理的大部分功能)作为main分支, commit and push 到远程. 本地新开 version1.0 分支并 push 到远程, 将第一版代码删去, 使用第二版进行覆盖, 该版本完善了前台的大部分功能, 随后 commit and push. 紧接着新开分支 version1.1, push 到远程, 该版本将更新关于项目优化的代码内容.现在需要对此方法进行缓存优化,提高系统的性能。原创 2024-03-23 08:00:00 · 658 阅读 · 0 评论 -
Java Web项目—餐饮管理系统Day11-Linux-基本知识点(二)
1、vim是从vi发展来的一个功能更加强大的文本编辑工具,在编辑文件时可以对文本内容进行着色,方便我们对文件进行编辑处理,所以实际工作中vim更加常用。作用: vi命令是Linux系统提供的一个文本编辑工具,可以对文件内容进行编辑,类似于Windows中的记事本。1、在使用vim命令编辑文件时,如果指定的文件存在则直接打开此文件。-z: z代表的是gzip,通过gzip命令处理文件,gzip可以对文件压缩或者解压。命令模式下可以查看文件内容、移动光标, 通过vim命令打开文件后,默认进入命令模式.原创 2024-03-19 16:00:00 · 1712 阅读 · 0 评论 -
Java Web项目—餐饮管理系统Day12-Redis基础
Redis hash 是一个 string 类型的 field(字段) 和 value(值) 的映射表,hash 特别适合用于存储对象。Redis 的 Set 是 String 类型的无序集合。Redis 有序集合和集合一样也是 string 类型元素的集合,且不允许重复的成员。Redis 中集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。有序集合的成员是唯一的,但分数(score)却可以重复。原创 2024-03-20 08:00:00 · 1081 阅读 · 0 评论 -
Java Web项目—餐饮管理系统Day10-Linux-基本知识点(一)
Linux系统历史时间:1991年地点:芬兰赫尔辛基大学人物: Linus Torvalds (21岁)语言: C语言、汇编语言logo:企鹅特点:免费、开源、多用户、多任务Linux系统分为内核版和发行版内核版由Linus Torvalds及其团队开发、维护免费、开源负责控制硬件发行版基于Linux内核版进行扩展由各个Linux厂商开发、维护有收费版本和免费版本目录描述bin存放二进制可执行文件boot存放系统引导时使用的各种文件dev。原创 2024-03-19 08:00:00 · 1073 阅读 · 0 评论 -
Java Web项目—餐饮管理系统Day09-用户端开发(二)
实际上还有一些请求待处理, 例如点击套餐图片展示套餐明细、点击历史订单展示订单列表及其明细等等, 由于请求路径和方法以及返回数据格式等未知, 且未新增技术点, 故暂时不进行讨论. 至此, Reggie 外卖项目的基本内容就完结了。设置默认地址, 注意需要先把原默认地址取消, 这里有一个 trick, 就是如果一个实体类的字段为空, 那么在更新时该字段不会被写入到数据库中.地址簿记录了每个用户的地址信息, 每个用户可以设置多个地址, 但默认地址有且仅有一个.为他们创建 service 和 mapper.原创 2024-03-18 16:30:00 · 438 阅读 · 0 评论 -
Java Web项目—餐饮管理系统Day08-用户端开发(一)
唯一需要注意的一点是 wrapper 需要在循环体内部定义, 否则 eq 条件会不断叠加. 另外如果有部分菜品设置了口味但未出现 “选择规格” 的字样, 可能是菜品列表中的旧数据id字段等无法对应, 可以一并删除清空, 再利用前端页面添加自定义的数据, 此时这些数据将符合一致性。方法实际处理逻辑待定, 但此时重启应用可以看到分类条目下已经有显示了. 然而, 实际上原先的 list 方法(DishContoller.list)还需要修改, 它返回的值应当还包含口味数据, 返回值类型设定为。原创 2024-03-18 08:00:00 · 991 阅读 · 0 评论 -
Java Web项目—餐饮管理系统Day07-套餐管理(二)
的条件, 则实际上只需要更改 setmeal 表即可. 然而, 在考虑该条件后, 涉及到更多的表, 过程是先依据 setmeal 的 id 查询 setmeal_dish 表得到 SetmealDish 的列表, 遍历该列表, 依据其中的 dishId 查询 dish 表, 得到 Dish 对象, 查看该对象的 status 是否为 0 (停售), 若为0, 则抛出业务异常, 信息中提示菜品名称.这部分开发剩下的部分功能, 包括分页查询、更新套餐、批量停售/启售, 继续熟悉业务代码编写.原创 2024-03-17 16:30:00 · 803 阅读 · 0 评论 -
Java Web项目—餐饮管理系统Day06-套餐管理(一)
例如 Setmeal 实体对应 setmeal 表. 而如果这样写: SetMeal, 那么它对应 set_meal 表(实际上数据库只有 setmeal 表, 因此万不可错写)注意, 不要更改 Setmeal 实体类的名称以及其中字段的名称, 因为这是要与 mysql 中表以及表中字段一一对应的.如上图为新增套餐的界面, 它包含了套餐的一些基本信息, 例如名称、价格等, 同时还有套餐分类(因此这里需要一个。). 以及弹出页面用于选择菜品, 包括。原创 2024-03-17 08:00:00 · 428 阅读 · 0 评论 -
Java Web项目—餐饮管理系统Day05-菜品管理
需要在 service 层编写 addWithFlavor 方法, 显然, 应当先执行插入操作保存 Dish 信息. 此时, 该条记录(Dish)在插入后会自动获得一个 id(a), 取出 flavors 字段, 遍历该列表, 设置其中的 dish_id 为a.二是具体修改, 需要修改菜品的基本信息以及口味信息, 由于菜品口味信息可删除或者可添加, 尽管也是修改了数据表, 但实际上并非针对某一条或者某一批数据条目中某些字段的修改, 可以认为是由删除操作和插入操作结合而来.原创 2024-03-16 16:30:00 · 1099 阅读 · 0 评论 -
Java Web项目—餐饮管理系统Day04-公共字段填充与菜品分类管理
前面我们已经完成了后台系统的员工管理功能开发,在新增员工时需要设置创建时间、创建人、修改时间、修改人等字段,在编辑员工时需要设置修改时间和修改人等字段。当我们在后台系统中添加菜品时需要选择一个菜品分类,当我们在后台系统中添加一个套餐时需要选择一个套餐分类,在移动端也会按照菜品分类和套餐分类来展示对应的菜品和套餐。注意, 此前忽略(漏听?name 是分类名称, type 是分类类型, 1=菜品分类, 2=套餐分类.套餐分类: 是指菜品所属的套餐, 例如: 亲子套餐、极意双人餐、超值单人餐等等。原创 2024-03-16 07:00:00 · 1462 阅读 · 0 评论 -
Java Web项目—餐饮管理系统Day03-管理员后台开发(二)新增员工与条件分页查询
仔细观察, 发现查询参数 id 不正确, 这是由于数据类型为整数, 前端存储时导致精度丢失(尾部的000).静态页面资源忽然就访问不到了, 还记得第一小节的提醒吗, 前端资源页面必须放在 static 目录下.不难发现, 目前似乎很多业务逻辑的操作也都放在的 controller 层, 后续还需要进一步调整.重启应用, 点击编辑按钮跳转到编辑页面, 可以看到此时请求已发送且响应200 ok.如上, 主要针对几种常见的数据类型进行了重写, 整数类型则转为字符串类型.原创 2024-03-15 17:45:00 · 1656 阅读 · 0 评论 -
Java Web项目—餐饮管理系统Day02-管理员后台开发(一)登录
来到顶层的设计 controller 层, 该层负责接受前端发送的请求, 解析请求参数, 调用 service 层获得结果, 将结果封装后返回前端.另外一个最重要的是要记住当前用户的id以记住登录状态, 并使用拦截器, 对于部分请求, 需要先校验登录状态, 若校验成功才放行.对于需要拦截的, 检查会话中是否存储 “employee” 键值对, 若检查到该键值对, 表示已登录。先获取到请求路径, 检查路径是否需要拦截, 不需要拦截的例如登入登出请求以及静态资源访问请求等.原创 2024-03-15 07:00:00 · 1004 阅读 · 0 评论 -
Java Web项目—餐饮管理系统Day01-环境搭建
瑞吉外卖项目: 一个基于 SpringBoot, MybalisPlus, Redis 的 Java Web 后端开发项目, 它包含管理员网页端和小程序用户端。对于管理端,业务需求包括员工管理,这包含员工登录与访问权限设定、员工的增删改查与状态修改、员工的条件分页查询。原创 2024-03-14 16:00:00 · 465 阅读 · 0 评论 -
Java Web实战(四)Web后端之MyBatis-基础用法详解
是使用Java语言操作关系型数据库的一套API. 它只提供一些接口, 也即sun公司官方定义的一套操作所有关系型数据库的规范, 各个数据库厂商(例如MySQL, Oracle, SqlServer)去实现这套接口, 提供数据库驱动jar包。我们可以使用这套接口(JDBC)编程,真正执行的代码是驱动jar包中的实现类。原创 2024-03-13 19:00:00 · 895 阅读 · 0 评论 -
Java Web实战(四)Web后端之MySQL语法使用详解-2
例如 部门信息表(tb_dept) 和 员工信息表(tb_emp), 部门信息表存放着部门名称(name)和id, 员工需要添加所属部门(dept_id)的信息。例如, 在 tb_emp 中添加字段 dept_id 表示员工的归属部门, 同时称部门表为父表而员工表为子表。本次只分析 分类管理(category), 菜品管理(dish), 套餐管理(setmeal) 三个表.这样在删除某一部门时, 会首先检查员工信息表, 若发现该部门下还有员工, 则这一删除操作不会执行.原创 2024-03-13 07:00:00 · 1597 阅读 · 0 评论 -
Java Web实战(三)Web后端之MySQL语法使用详解-01
添加员工时,会给员工设置一个默认的密码 123456,添加完成后,员工就可以通过该空码登录该后台管理系统了。约束是作用于表中字段上的规则, 用于限制存储在表中的数据, 保证数据库中数据的正确性、有效性和完整性。添加一条记录时, 还会保存它的 添加时间(或称为 入职时间)更新一条记录时, 还会保存它的 更新时间。在员工管理系统中, 有这样一个表格(那么假如要建立这样一张表,添加数据 (INSERT)修改数据 (UPDATE)删除数据 (DELETE)原创 2024-03-12 15:00:00 · 960 阅读 · 0 评论 -
Java Web实战(二)Web后端之http请求响应实例+Spring基础
我们可以打开Spring的官网( https://spring.io ),去看一下Spring的简介:Spring makes Java simple。而我们在项目开发时,一般会偏向于选择这一套spring家族的技术,来解决对应领域的问题,那我们称这一套技术为。其他的spring家族的技术,都是基于SpringFramework的,SpringFramework中提供很多实用功能,如:依赖注入、事务管理、web开发支持、数据访问、消息服务等等。请求行: 请求方式, 资源路径, 协议(HTTP/1.1)原创 2024-03-12 08:00:00 · 897 阅读 · 0 评论 -
JavaWeb实战(一)后端之maven基础
Maven 是 Apache部门开发的一个开源的 Java项目管理和构建工具, 它基于项目对象模型(POM)的概念, 通过一小段描述信息来管理项目的构建。仓库:用于存储资源,管理各种jar包。https://blog.csdn.net/qq_42057154/article/details/106114515[INFO] ----------------------------------------------------------------------------[INFO] Using foll原创 2024-03-11 12:00:00 · 842 阅读 · 0 评论 -
Java Web基础(三)Vue-简化开发的前端框架
Vue 是一套前端框架,免除原生JavaScript中的DOM操作,简化书写. 基于MVVM(Model-View-ViewModel)思想,实现数据的双向绑定,将编程的关注点放在数据上。编写视图注意插值表达式: 内容可以是: 变量, 三元运算符, 函数调用, 算术运算指令: HTML标签上带有 的特殊属性,不同指令具有不同含义。例如: v-if,v-for…常用指令v-bind:or 只保留冒号v-model对应Vue对象view 片段v-onv-on 为HTML标签绑定原创 2024-03-11 06:00:00 · 886 阅读 · 0 评论 -
Java Web基础(二)Web前端之javascript语法实例详解
JavaScript(简称:JS)是一门跨平台、面向对象的脚本语言(直接解释执行, 不需要编译)。是用来控制网页行为的,它能使网页可交互。ECMAScript 6(ES6)是最新的JavaScript版本(发布于2015年)。外部脚本: 将JS代码定义在外部JS文件中,然后引入到 HTML页面中外部JS文件中,只包含JS代码,不包含标签标签不能自闭合js基础语法基础语法区分大小写:与Java 一样,变量名、函数名以及其他一切东西都是区分大小写的每行结尾的分号可有可无注释:单原创 2024-03-11 03:00:00 · 981 阅读 · 0 评论 -
Java Web基础(一)Web前端简介之html+javascript+css
浏览器 -> 请求数据 (后端服务器–Java程序) --> 数据库服务器(返回对应数据)布局标签:实际开发网页中,会大量频繁的使用 div 和span 这两个没有语义的布局标签。HTML: HyperText Markup Language, 超文本标记语言。浏览器 -> 前端服务器 (返回前端代码, 浏览器解释前端代码渲染出框架): 定义表单项,通过type属性控制输入形式。注意: 表单项必须有name属性才可以提交。原创 2024-03-10 22:18:37 · 993 阅读 · 0 评论