【JSP+Servlet+Maven】——优质外卖订餐系统之概论部分

news2024/9/27 19:19:37

🎼个人主页:【Y小夜】

😎作者简介:一位双非学校的大二学生,编程爱好者,

专注于基础和实战分享,欢迎私信咨询!

🎆入门专栏:🎇【MySQL,Java基础,Rust】

🎈热门专栏:🎊【Python,Javaweb,Vue框架】

感谢您的点赞、关注、评论、收藏、是对我最大的认可和支持!❤️

目录

🎯绪论

😎前言

😎研究背景

😎研究意义

😎相关技术介绍

🎈JSP技术

🎈MySql数据库技术

🎈三层架构

🎈MVC模式

🎈B/S模式

🎯需求分析

😎可行性分析

🎈技术可行性

🎈经济可行性

😎功能需求分析

🎈用户模块

🎈商家模块

🎯概要设计

😎系统总体结构与功能

🎈系统设计方法三原则

🎈系统的模块设计

😎系统流程图

😎数据库设计

🎈数据库设计原则

🎈E-R图

🎈数据库设计

🎯详细设计与实现

😎优质外卖订餐系统的登入界面 

😎商家主界面

🎈主界面

🎈修改餐品界面

🎈添加餐品界面

🎈热卖餐品页面

🎈出售车界面

😎 用户主界面

🎈 用户注册界面

🎈 主界面

🎈餐品分类界面

🎈购物车界面


🎯绪论

😎前言

大家好!我是小夜,因为这学期学了JSP,最近在做一个jsp项目,最近更新不太频繁。接下来几周,我将把自己这一个的项目在这几周分批发在这个账号上面,刚学jsp的小伙伴,可以当作练手项目,大家关注一下吧!

😎研究背景

        在快节奏的生活中,人们越来越倾向于选择外卖来解决日常餐饮需求。外卖订餐系统提供了一个便捷的平台,使用户能够随时随地浏览菜单、下单并享受快速的送餐服务。这一需求的增加推动了外卖订餐系统的发展。随着互联网的兴起,消费者越来越习惯于通过线上平台进行商品的浏览和购买,这种消费习惯的改变也影响了餐饮服务行业。外卖订餐系统作为连接商家与消费者的中间平台,得到了快速发展。技术的进步,尤其是大数据、移动支付和物流体系的完善,为外卖订餐系统的运营提供了强大的技术支持。这些技术的融合应用,不仅优化了用户体验,还提高了餐饮服务的效率和质量。

😎研究意义

        市场需求:随着现代生活节奏的加快,人们越来越倾向于选择快捷、便利的餐饮服务,外卖成为了许多人日常饮食的重要部分。因此,研究并优化外卖订餐系统,可以更好地满足市场日益增长的需求。

        用户体验:一个优秀的外卖订餐系统能够提供更加流畅和愉悦的用户体验,通过用户界面(UI)和用户体验(UX)设计的不断优化,吸引并保留更多的用户。

        技术创新:研究外卖订餐系统,可以为技术创新提供舞台,如利用人工智能(AI)进行个性化推荐、使用大数据分析用户行为和消费模式等。

😎相关技术介绍

🎈JSP技术

        JSP技术是一种动态网页开发技术,它允许在HTML页面中嵌入Java代码,从而实现动态内容的生成和业务逻辑的处理。

        JSP由Sun Microsystems公司创建,是基于Java Servlet API的一种技术,主要用于简化服务器端的Web开发。当客户端请求一个JSP页面时,服务器将解析这个页面,执行其中的Java代码,并将结果嵌入到HTML中,然后返回给客户端。这一系列操作使得JSP能够高效地生成动态网页内容。

        JSP的工作方式基于请求/应答模式。当一个JSP文件首次被请求时,JSP引擎会将它转换成一个Java源文件(servlet),然后将这个Java源文件编译成可快速执行的二进制代码。如果文件中没有语法错误,这些二进制代码将被执行以处理客户端的请求。这种转换和编译过程确保了JSP页面的快速响应和高效执行。

🎈MySql数据库技术

        MySQL数据库技术是一种开源、跨平台的关系型数据库管理系统,具有高性能、高可靠性和易用性等特点。

        MySQL由瑞典MySQL AB公司开发并于1995年发布第一个版本,现属于Oracle公司旗下产品。它采用客户端/服务器架构,并支持多个操作系统,包括Linux、Windows、macOS等。这种跨平台的特性使得MySQL在全球范围内广泛应用于各种应用程序,从小型个人项目到企业级应用系统。

        MySQL以其开源、免费的特点著称。对于个人用户和部分商业用途,MySQL是可以免费使用的。其开源特性不仅降低了使用成本,还允许用户根据需要对源代码进行修改和定制。MySQL的这些特点使其成为不少开发者和企业的首选数据库管理系统。

🎈三层架构

        三层架构通常指的是软件设计中的Controller、Service和DAO三个层次,它们在应用程序中各自承担不同的职责,相互协作以实现整体功能。

        Controller层(控制层):Controller层是表现层,负责接收用户的输入,并将请求转发给相应的服务层处理,最后返回处理结果给用户。它位于架构的最前端,直接面对用户或外部请求,是系统与外界交互的窗口。控制层的主要任务是请求处理和数据转发,不包含业务逻辑,确保了用户接口的轻量化。例如,在一个Web应用中,Controller层接收来自网页表单或者移动端的请求,然后调用Service层进行进一步的业务处理。

        Service层(业务逻辑层):Service层是业务逻辑层,封装了应用程序的核心业务逻辑。这一层承担着处理具体业务逻辑的任务,如用户的增删改查、发送验证码或邮件等。它解释用户的请求,执行必要的业务计算,调用数据访问层进行数据持久化操作,并返回执行结果。通过封装业务逻辑,Service层使得系统更加模块化,便于维护和复用。例如,在用户管理系统中,Service层会处理注册、登录等业务逻辑,调用DAO层来实现数据的存取。

        DAO层(数据访问层):DAO层负责与数据库或其他持久化存储方式直接交互。它的主要职责是执行具体的数据库操作,如CRUD(增加、查询、更新和删除),并返回操作结果。通过抽象化数据访问,DAO层使得业务逻辑层与数据存储细节解耦,提高了系统的适应性和稳定性。

🎈MVC模式

        MVC全名是Model View Controller,它用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC可用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。

        MVC开始是存在于桌面程序中的,M是指业务模型,V是指用户界面,C则是控制器,使用MVC的目的是将M和V的实现代码分离,从而使一个程序可以使用不同的表现形式。C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新。

🎈B/S模式

        B/S模式,即浏览器/服务器模式,是一种网络架构模式,主要通过浏览器作为客户端访问服务器上的数据和服务。在这种模式下,用户只需拥有一个Web浏览器,就可以访问服务器上的资源,而无需安装任何专门的软件。这种架构模式简化了信息系统的部署和管理,提高了系统的可靠性和可扩展性,同时为用户提供了更加便捷的访问途径。

🎯需求分析

😎可行性分析

🎈技术可行性

        JSP适用性:JSP是Java EE技术的一部分,适合用于创建动态网页和Web应用程序。它允许在HTML中嵌入Java代码,实现业务逻辑与页面显示的分离。虽然现代框架如Spring MVC等提供了更先进的开发方式,但JSP依然能够满足外卖订餐系统的基本需求。

        数据库选择:根据系统需求,可以选择关系型数据库如MySQL、PostgreSQL或非关系型数据库如MongoDB。考虑到外卖系统的高并发和大数据量,一个具有良好索引和查询优化的数据库至关重要。

        服务器要求:系统将运行在支持Java EE标准的Web服务器上,如Apache Tomcat。考虑到可能的用户并发访问量,服务器需要有足够的处理能力和内存来保证响应速度和稳定性。

        模块化设计:采用模块化设计原则,将系统划分为用户管理、订单处理、支付流程、餐厅信息管理等独立模块,通过JSP和Servlet实现模块间的交互,提高系统的可维护性和扩展性。

        前端技术:虽然JSP可以负责页面生成,但结合JavaScript框架如jQuery,可以提高用户界面的交互性。使用Ajax技术实现动态内容加载,提升用户体验。

🎈经济可行性

        初始开发成本:这包括系统设计、编码实现、测试和部署的费用。使用JSP和数据库可能不需要大量的前期投资,因为这两者都是成熟的技术,有许多免费和开源的资源可供利用。然而,根据系统的复杂度和功能要求,可能需要聘请经验丰富的开发人员,这可能会增加成本。

        硬件与服务器成本:系统运行需要服务器支持,可以选择云服务或自行搭建服务器。云服务虽然提供灵活性和可扩展性,但长期来看可能会有更高的运营成本。自建服务器则需要一次性的硬件投资和维护费用。

        维护与更新成本:系统上线后,需要定期进行维护和更新,以保证软件的稳定性和安全性。这涉及到对软硬件的持续投资,包括服务器费用、人员工资、软件升级等。

        市场需求分析:外卖市场的增长趋势表明,用户对于便捷订餐的需求强烈。一个优化良好的外卖订餐系统有望吸引大量用户,尤其是如果它能提供独特的功能或更好的用户体验。

        收益模式:系统可以通过多种方式实现盈利,如向餐馆收取平台使用费、订单抽成、广告收入或提供增值服务。收益的具体模式取决于市场定位和目标用户群。

        竞争分析:市场上已有多个成熟的外卖订餐服务平台,新系统需要在特色服务、用户体验或价格上具有竞争优势才能获得市场份额。

😎功能需求分析

        优选外卖订餐系统应该包括九种模块。属于用户的模块有登入模块、注册模块、注销模块、餐品展示模块、分类模块、购物车模块。属于商家的模块有登入模块、注销模块、餐品展示模块、热卖餐品模块、添加模块、出售车模块。优选外卖订餐系统用例图如图所示。

🎈用户模块

  • 登入模块:用于校验用户信息,用户选择身份后,在客户端输入账户名和密码,进行登入,客户端会将用户输入的账户名和密码发送至服务器端,服务器会将客户端发送回来的数据与数据库中的数据进行比较,若发现是数据库中的数据,则返回到客户端,将页面跳转到登入后的主页面;若没有在数据库中找到用户的数据,则将错误信息返回至客户端,并要求用户重新输入。登入用例图如图。

  • 注册模块:用户选择功能,并输入账户名,和两次密码,确定提交后,客户端先判断两次密码是否一样,若不同,拦截发往服务器端的请求,并展示两次密码不同的信息;若两次密码相同,则将信息添加到数据库中,并返回客户端,跳转到登入界面,进行登入。注册模块如图。

  • 注销模块:用户点击注销按钮,清除Session中的用户登入信息。注销模块如图

  • 餐品展示模块:用户登入后,进入餐品展示页面,在餐品展示页面,可以看到服务器传到客户端的数据库中的餐品数据。餐品展示模块用例图。

  • 分类模块:用户登入后,可以选择不同的店铺进入购买,在不同的店铺中,也有不同的分类供用户选择。分类模块用例图。

  • 购物车模块:用户进入店铺后,可以对商品可以进行购买,进入购物车模块后,可以对购买后的商品进行取消。购物车模块用例图如图所示。

🎈商家模块

  • 登入模块:用于校验用户信息,商家选择身份后,在客户端输入账户名和密码,进行登入,客户端会将用户输入的账户名和密码发送至服务器端,服务器会将客户端发送回来的数据与数据库中的数据进行比较,若发现是数据库中的数据,则返回到客户端,将页面跳转到登入后的主页面;若没有在数据库中找到商家的数据,则将错误信息返回至客户端,并要求用户重新输入。登入用例图如图。

  • 注销模块:商家点击注销按钮,清除Session中的商家登入信息。注销模块如图。

  • 餐品展示模块:商家登入后,进入自己店铺的餐品展示页面,在餐品展示页面,可以看到服务器传到客户端的数据库中的餐品数据。餐品展示模块用例图。

  • 热卖餐品模块:商家登入后,可以查看热卖餐品。热卖餐品模块用例图。

  • 添加模块:商家登入后,可以对本店铺的餐品进行添加。添加模块用例图。

  • 出售车模块:商家可以通过出售车模块查看用户在本店铺购买的餐品,并且可以发货。出售车模块用例图。

🎯概要设计

😎系统总体结构与功能

🎈系统设计方法三原则

一、模块化设计

        定义与目的:模块化设计是指将系统分解为独立但协作的模块或组件。每个模块负责一部分独立的功能,易于理解、开发和维护。

        低耦合性和高内聚性:有效的模块化要求模块之间具有低耦合性(减少相互依赖),而模块内部则具有高内聚性(紧密相关的功能聚集在一起)。这样可以降低修改和扩展的成本,提升系统的灵活性和可维护性。

        重用与标准化:模块化设计促进代码重用,减少了开发时间和成本。同时,采用标准化的接口和协议可以确保不同模块间的兼容性,提高整体系统的稳定性。

二、抽象化设计

        定义与目的:抽象化设计是通过隐藏复杂性的处理,只展示给使用者必要的信息和操作。它简化了系统设计与使用,让开发者和用户不需要关心不必要的细节。

        层次化抽象:系统设计应该建立在不同的抽象层次上,每一层提供一组服务给上一层,同时隐藏其下层的实现细节。这种分层的方式有助于管理复杂性,并允许每一层独立变化而不影响到其他层。

        数据抽象和封装:面向对象设计中的数据抽象允许将数据和操作数据的方法封装为对象。这提高了代码的可读性和可维护性,并减少了代码间的错误交互。

三、逐步精细化

        定义与目的:逐步精细化是指在系统设计过程中,从高层的概要设计开始,逐步细化到具体的实现细节。这种方法有助于逐步理清思路,系统地解决问题。

        迭代和增量开发:采用迭代和增量的开发模式,将系统分成多个小部分,逐步构建和测试每一部分,最终整合成完整的系统。这有利于管理项目进度,及早发现并修复问题。

        用户参与和反馈:在逐步精细化的过程中,持续的用户参与和反馈至关重要。它可以确保系统设计符合用户需求,及时调整方向,提升用户满意度。

🎈系统的模块设计

        经过分析,优选外卖订餐系统应该包括九种模块。属于用户的模块有登入模块、注册模块、注销模块、餐品展示模块、分类模块、购物车模块。属于商家的模块有登入模块、注销模块、餐品展示模块、热卖餐品模块、添加模块、出售车模块。模块总体结构图。

😎系统流程图

😎数据库设计

🎈数据库设计原则

        设计开发一个冗余较小、结构合理的数据库,在设计数据库时必须遵循一定的规则。在关系型数据库中这种规则就称之为范式。本次数据库设计满足数据库设计的三大范式。

第一范式(确保每列保持原子性)

        第一范式是最基本的范式。要求每张数据库表中的所有的字段都是不可拆解的原子,这才能证明该数据库表满足了第一范式。如何合理的遵循第一范式,是需要依据系统的现实需求来敲定的。比如数据库系统中需要用到“地理位置”这个字段,原本只需“地理位置”属性设计成数据库表的一个字段就行。但是假如某个系统需要经常去数据库中获取“地理位置”属性中的“城市”名字那部分,根据第一范式,就必须要把“地理位置”这个字段重新拆分为省份、城市、详细地址等多个字段进行存储,这样在对地址中某一部分进行操作的时候将非常方便。

第二范式(确保表中的每列都和主键相关)

        第二范式是对第一范式的基础之上的进化、升华。第二范式要求保障一个数据库表中的每列都与主键相干,而且不能只和主键的某一部分相关(主要针对的是就联合主键而言)。换句话说在,一个表中只能存储一种或者一类数据,不能够在同一张数据库表中存储多种数据。

第三范式(确保每列都和主键列直接相关,而不是间接相关)

        第三范式要求确保数据表中的每一列数据都与主键直接有关系,而不是间接有关系。如在设计数据表时的时候,需要将客户id作为一个外关键,来和订单表来建立相应的关系,而不是在订单表中直接添加到其他客户信息的。

🎈E-R图

🎈数据库设计

        设计本系统数据库采用Mysql,根据ER图的分析,系统共设计使用6张表,分别是以下是设计的本系统所需要的表设计。

area表是表示店铺地址的。详情见表1。

表1 area表

序号

列名

数据类型

长度

主键

说明

1

aid

int

地区id

2

aname

varchar

100

地区名称

car表是用来表示购物车信息的,详情见表2。

表2 car表

序号

列名

数据类型

长度

主键

说明

1

cid

int

购物车id

2

cname

varchar

1000

菜品名

3

cstate

int

购物车状态

4

cprice

int

单价

5

cfid

int

餐品id

6

cuid

int

用户id

7

cdid

int

店铺id

dianpu表是用来存储店铺信息的,详情见表3。

表3 dianpu

序号

列名

数据类型

长度

主键

说明

1

did

int

店铺id

2

dname

varchar

1000

店名

3

dareaid

int

所在区域id

food表是用来存储店铺中的餐品信息的,详情见表4。

表4 food表

序号

列名

数据类型

长度

主键

说明

1

fid

int

餐品id

2

fname

varchar

100

餐品名

3

fcount

int

购买人数

4

fprice

int

单价

5

fdianid

int

店铺id

6

fstate

int

状态

shangjia表是用来存储商家信息的,详情见表5。

表5 shangjia

序号

列名

数据类型

长度

主键

说明

1

sid

int

商家id

2

sname

varchar

1000

商家名称

3

password

varchar

1000

登入密码

4

sdianid

int

店铺id

user表是用来存储用户信息的,详情见表6。

表6 user

序号

列名

数据类型

长度

主键

说明

1

uid

int

用户id

2

uname

varchar

100

用户名称

3

password

varchar

100

用户密码

🎯详细设计与实现

😎优质外卖订餐系统的登入界面 

登入页面。如图所示:

😎商家主界面

🎈主界面

在主界面中,有一系列功能的展示。如图所示:

🎈修改餐品界面

点击修改,修改餐品界面展示,如图所示:

🎈添加餐品界面

点击添加餐品,此界面用于添加餐品。如图所示:

🎈热卖餐品页面

在此页是热卖的餐品。如图所示:

🎈出售车界面

点击出售车,跳转到出售车界面,商家可发货。如图所示:

😎 用户主界面

🎈 用户注册界面

用于用户注册。如图所示:

🎈 主界面

在主界面中,有一系列功能的展示。如图所示:

🎈餐品分类界面

点击左边栏,查看分类展示,如图所示:

🎈购物车界面

点击购物车,进行购物车展示。如图所示:

欢迎大家点赞、评论加关注哟!!!

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

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

相关文章

PPTP、L2TP、IPSec、IPS 有什么区别?

随着互联网的发展,保护网络通信的安全越来越重要。PPTP、L2TP、IPSec、IPS是常见的网络安全协议和技术,在保护网络通信安全方面发挥着不同的作用和特点。下面介绍PPTP、L2TP、IPSec、IPS之间的区别。 点对点隧道协议(PPTP)是一种用…

使用大模型进行SQL迁移的实践总结

在现代化的项目管理和运维工作中,利用大模型(如ChatGPT)处理复杂任务已成为一种高效手段。近期我们在一个项目中尝试利用大模型将MySQL导出的SQL语句迁移为达梦信创数据库格式,通过几轮操作,我们深刻体会到提示词工程的…

C# 串口数据转网口实现空气风速风向检测

1.窗体搭建 添加time(定时器) 因为需要风速和风向自动刷新 2.进行网口空气检测 ①服务器连接按钮 // 连接按钮private void button1_Click(object sender, EventArgs e){if (button1.Text "连接"){ConnectSocke();// 连接服务器}else{CloseSocket(); // 关闭服务器…

基于html开发的在线网址导航在线工具箱源码

基于html开发的在线网址导航在线工具箱源码,将全部文件复制到服务器,入口文件是index.html 如需修改网址,可修改index.html 如需修改关于页面,可修改about里面的index页面 源码下载:https://download.csdn.net/down…

基于YOLOV8的数粒机视觉计数解决方案

一:行业背景调查 随着全球市场商品大规模工业化生产技术的大规模发展,其中对各类产品生产包装以及原材料供给有了更多精准计数的要求,这些要求主要分布在一些产量较大,产品颗粒较小,单个成本较高的商品中,近几年主要从医药包装领域和接插件包装领域开始对产品包装中的计…

【git】:初识Git 和 Git 的安装

目录 学习 Git 的目标 Git 安装 Linux-centos Linux-ubuntu Windows 学习 Git 的目标 技术目标 掌握 Git 企业级应用,深刻理解Git操作过程与操作原理,理解工作区,暂存区,版本库的含义 掌握 Git 版本管理,自由进⾏…

阿里云Linux中安装MySQL,并使用navicat连接以及报错解决

首先查询是否安装MySQL // linux 使用yum安装或者rpm安装。(就是一个安装工具类似于applStore,brew不必在意) // 区别:yum会自动安装你要安装的东西的其他依赖,rpm不会但会提示你需要安装的东西,比较麻烦,所以采用yum安…

权力之望账号怎么注册 权力之望注册游戏账号教程

不会吧不会吧,这款新的MMORPG游戏,权力之望,马上就要上线啦。支援PC 及行动装置跨平台游玩的MMORPG《权力之望》以Unity 引擎研发,利用动态捕捉、3D 扫描技术呈现细腻的游戏画面。本作主打高自由度的武器选择成长与后续的战斗类型…

GeoTrust ——适合企业使用的SSL证书!

GeoTrust是一家全球知名的数字证书颁发机构(CA),其提供的SSL证书非常适合企业使用。GeoTrust的SSL证书为企业带来了多重优势,不仅在验证级别、加密强度、兼容性、客户服务等方面表现出色,而且其高性价比和灵活的证书选…

斐讯N1盒子刷入Armbian并安装Docker拉取网络下行流量教程

一直在跑PCDN,目前主推八米云跟点心云,八米单价比点心更高,业务都一样,直播业务。 两种刷机教程我也发下。 八米云:点此跳转 点心云:点此跳转 最近各运营商对PCDN打击力度加大,需求拉取下行流量…

开始Linux之路(暑假提升)

人生得一知己足矣,斯世当以同怀视之。——鲁迅 Linux操作系统简单操作指令 1、ls指令2、pwd命令3、cd指令4、mkdir指令(重要)5、whoami命令6、创建一个普通用户7、重新认识指令8、which指令9、alias命令10、touch指令11、rmdir指令 及 rm指令(重要)12、man指令(重要…

python-27-零基础自学python

学习内容:《python编程:从入门到实践》第二版 知识点: 统计文本单词数、 解决问题: gbk codec cant decode byte 0x9d in position 995: illegal multibyte sequence” 练习内容: 练习10-10:常见单词 …

搭建图片缓存服务器,解决图片访问403 Forbidden问题

在现代Web开发中,图片是网站和应用的重要组成部分。然而,有时我们在访问某些图片时会遇到403 Forbidden错误,尤其是自己的应用访问互联网上的三方的图片时,这通常是由于别人的服务器设置了访问限制。本文将介绍如何通过搭建一个图…

【大数据】什么是数据清洗?(附应用场景及解决方案)

一、数据清洗的概念及应用场景 数据清洗是在数据处理和分析之前,对数据集进行清理和整理的过程。这个过程包括识别并纠正错误的、不完整的、不准确的、不相关的或者是重复的数据,以确保数据的质量和准确性。数据清洗的目的是提高数据的质量,使…

Vim的撤销(undo)(回退)(后退)重做(redo)(前进) , u回退 , Ctrl+r重做

Vim的撤销(undo)(回退)(后退)重做(redo)(前进) u撤销(undu)(回退)(后退) , 小写u(undo) ctrlr 重做 CTRLr , (redo), 撤销撤销, 撤销回退, 撤销后退,前进 在 Vim 中,撤销(undo)和重做(redo)操作是通过以下命令实现的…

Vmware_Mysql8.0.31_安装部署

创建mysql目录,将资料上传到该目录 卸载MySQL依赖,虽然机器上没有装MySQL,但是这一步不可少 sudo yum remove mysql-libs 下载依赖并安装 sudo yum install libaio udo yum -y install autoconf 切换到hadoop102的root用户 su root 执…

简单分享下利用python做测试的学习方向

做为一名转行过来的工程师,我想分享一下这些年来,我对于技术是怎样晋升的,我是在职,边上班边利用时间学习起来的,也听过很多业内人的分享(简单可以总结以下几点,分享给大家碎片的式学习方式&…

Java | Leetcode Java题解之第229题多数元素II

题目&#xff1a; 题解&#xff1a; class Solution {public List<Integer> majorityElement(int[] nums) {HashMap<Integer, Integer> cnt new HashMap<Integer, Integer>();for (int i 0; i < nums.length; i) {if (cnt.containsKey(nums[i])) {cnt.…

键盘快捷键设置录入

效果图&#xff1a; 代码&#xff1a; import React, {useContext, useEffect, useRef} from react import {message} from "antd"; import lodash from "lodash"; import {StateContext} from ../../index.tsx import {useUpdateEffect} from "ahoo…

mysql快速精通(三)表关系

主打一个实用 一. 一对多&#xff08;多对一&#xff09;关系 例如班级和学生&#xff0c;这种类型我们一般建两个表,一方为主表&#xff0c;多方为从表 二. 多对多 例如课程与学生&#xff0c;这种类型我们一般需要建三张表&#xff0c;两张一方主表&#xff0c;与一张多方从表…