- 开发工具: IDEA 2021.3.1, DataGrip 2021.3.1
- 数据库:MySql 8.0
- 软件版本:JDK17,Tomcat 10.1.9, maven 3.6.3,
- 相关框架:mybatis 3.5.13, Spring 5.3.9
- 相关技术:JavaWeb
-
菜单管理:
- 添加菜品:允许管理员添加新菜品,包括菜品名称、描述、价格等信息。
- 修改菜品:允许管理员修改已存在菜品的信息,如名称、描述、价格等。
- 删除菜品:允许管理员删除不再供应的菜品。
-
订单管理:
- 创建订单:顾客可以下订单,包括选择菜品、数量、特殊要求等。
- 管理订单状态:管理员可以查看和更新订单状态,如确认、取消、配送等。
- 订单查询:顾客和管理员可以查询特定订单的详细信息。
-
库存管理:
- 菜品库存管理:跟踪菜品的库存数量,及时更新库存信息。
- 自动库存预警:当菜品库存低于设定的阈值时,系统自动发送预警通知给管理员。
- 库存报告:生成库存报告,提供菜品库存的详细信息,供管理员参考。
-
员工管理:
- 管理员权限:指定管理员账号,并设置其具备特定权限,如菜单管理、订单管理等。
- 员工信息管理:记录员工的基本信息,如姓名、职位等。
- 访问控制:限制对系统的访问,确保只有授权的员工可以登录和使用系统。
-
销售统计:
- 菜品销售报告:生成菜品的销售统计报告,包括销售量、销售额等。
- 时间段统计:统计特定时间段内的销售情况,如每天、每周或每月的销售统计。
- 数据可视化:以图表或图形的形式展示销售数据,方便管理员进行分析和决策。
-
建立数据库表、HTMl页面、tomcat服务器的连接
-
建立相应的pojo类、 sqlSessionUtil类,获取前端传来的数据Servlet类
-
获取前端的数据以后,servlet只是调用service的方法(eg:transfer),并不处理具体的业务, 进而使用到service层。
-
写service建立接口(accountService),使用实现类accountServiceImpl 实现接口方法。 需要判断账户余额是否充足, 就要用到sql语句,进而使用到dao层(DAO对象中的任何一个方法和业务不挂钩,只是负责增删改查),转去写dao
-
写dao的过程中,建立接口(accountDao),使用实现类accountDaoImpl 实现接口方法。 同时过程中填写补充 AccountMapper(需要提前在mybatis的核心文件中配置)
-
写完dao以后,转回service继续写service方法,然后补充servlet方法
-
对于系统的改进
- 事务提交不能在DAO方法中做(完成一条提交一条),而是在service方法中,使用一个sqlSession对象,一次事务提交
- 使用ThreadLocal 对程序进行维护, 保证一个线程对应一个sqlSession对象
- dao中的代码固定且重复,在内存中固定生成
-
环境设置:
- 安装和配置JDK、Tomcat、MySQL等软件,并确保它们能够正常工作。
- 在IDEA中创建一个新的Java Web项目,并配置相关的框架和依赖,如Spring和MyBatis。
-
数据库设计与创建:
- 使用DataGrip或其他MySQL客户端工具,创建数据库和所需的表,根据之前提到的数据库表设计方案。
- 确保数据库连接信息(URL、用户名、密码)正确,并在项目中进行相应的配置。
-
实体类设计与创建:
- 在Java项目中创建实体类,对应数据库中的表结构。使用注解或XML配置与数据库表的映射关系,使用MyBatis的注解或XML映射文件。
-
Mapper层开发:
- 使用MyBatis的动态代理机制和XML配置,实现mapper接口,编写与数据库交互的SQL语句。
-
服务层开发:
- 创建服务层(Service)接口和实现类,定义业务逻辑。
- 在服务层中调用DAO层的方法,处理业务逻辑,例如处理订单、菜品管理等功能。
-
控制器层开发:
- 创建控制器(Controller)类,处理用户请求和响应。
- 使用Spring MVC框架,配置URL映射和请求处理方法,将用户请求路由到相应的控制器方法。
-
视图层开发:
- 使用JavaWeb技术(JSP、Servlet等),创建用户界面,展示数据和接收用户输入。
- 使用HTML、CSS和JavaScript等前端技术,设计和美化用户界面,增强用户体验。
-
单元测试:
- 使用JUnit等单元测试框架,对各个功能模块进行单元测试,验证其正确性和稳定性。
-
整合和部署:
- 使用Maven构建项目,处理依赖关系。
- 配置Tomcat服务器,将项目部署到Tomcat服务器中,测试整体功能和性能。
10.调试和优化:
- 在开发和测试过程中,进行系统的调试和优化,修复可能存在的问题和性能瓶颈。