JAVA WEB期末项目第二阶段成果
我们做的系统是一个基于Java web与MySQL的食堂订餐系统
班级: 计科二班
小组成员:李鉴宣、袁超
1、开发环境
- 开发编辑器使用:Visual Studio Code
- 数据库使用:MySQL8.0
- 项目打包工具:maven3以上
- 项目本地部署测试:Tomcat8以上
- 在开发上使用了一个Jleopard-MVC 基于Servlet 3.1改造的,servlet快速开发脚手架详细用法请参考:
https://github.com/chg122345/jleopard
2、实现的基本功能功能
用户端功能
- 实现学生在线选座
- 实现学生在线选菜
- 实现将所选菜添加进餐车并完成在线下单
- 查看自己选购的菜品
管理员功能
- 实现管理员后台增减餐桌数量
- 实现管理员后台更改菜的种类
- 实现管理员后台增减更新菜品信息
- 实现后台显示学生下单信息
2、项目结构
- Java文件
- config文件夹:关于项目的数据库配置信息
- controller文件夹:包含一些管理员的操作
- dao文件夹:数据持久层
- entritys文件夹:实体类
- filter文件夹:过滤器
- service文件夹:业务逻辑层
- util文件夹:项目工具包
- webapp目录
- app目录:前台页面
- sys目录:后台页面
4、项目关键代码
数据库配置信息 DemoConfigConstant.java:
public interface DemoConfigConstant {
String BASE_PACKAGE = "org.jleopard.ihotel";
String CONTROLLER_PACKAGE = "org.jleopard.ihotel.controller";
String ENTITY_PACKAGE = "org.jleopard.ihotel.entity";
String DATASOURCE_URL = "jdbc:mysql://127.0.0.1:3306/ihotel?characterEncoding=UTF-8";
String DATASOURCE_USER = "root";
String DATASOURCE_PASSWORD = "123456";
String DATASOURCE_DRIVER = "com.mysql.jdbc.Driver";
}
业务逻辑层:
点餐餐桌设计代码片段:DinnerTableService.java
@Service
public class DinnerTableService {
@Inject
private DinnerTableDao dao ;
public int add(DinnerTable dt) {
return dao.insert(dt);
}
public int delete(Integer id) {
return dao.deleteById(id);
}
public int update(DinnerTable dt) {
return dao.update(dt);
}
public List<DinnerTable> query(DinnerTable dt) {
return dao.select(dt);
}
public List<DinnerTable> query() {
return dao.select();
}
public DinnerTable changeState(Integer id) {
DinnerTable var1 = new DinnerTable();
var1.setId(id);
DinnerTable table = dao.select(var1) == null ? null : dao.select(var1).get(0);
Byte status = table.getTableStatus();
if (status == 0) {
status = 1;
Date date = new Date();
table.setOrderDate(date);
} else if (status == 1) {
status = 0;
table.setOrderDate(null);
}
table.setTableStatus(status);
dao.update(table);
return table;
}
public DinnerTable findById(Integer id) {
DinnerTable var1 = new DinnerTable();
var1.setId(id);
DinnerTable table = dao.select(var1) == null ? null : dao.select(var1).get(0);
return table;
}
public int quitTable(Integer id) {
DinnerTable var1 = new DinnerTable();
var1.setId(id);
var1.setTableStatus(Byte.valueOf("0"));
var1.setOrderDate(null);
int temp = dao.update(var1);
return temp;
}
}
菜品信息设计代码片段:FoodService.java
@Service
public class FoodService {
@Inject
private FoodDao dao;
public int delete(Integer id) {
return dao.deleteById(id);
}
public int update(Food food) {
return dao.update(food);
}
public List<Food> query() {
return dao.select();
}
public List<Food> query(Food food) {
return dao.select(food);
}
public List<Food> findByType(Integer type) {
Food var1 = new Food();
var1.setFoodType_id(new FoodType().initId(type));
return dao.select(var1);
}
public int add(Food food) {
return dao.insert(food);
}
public Food findById(Integer id) {
Food var1 = new Food();
var1.setId(id);
List<Food> list = query(var1);
return list == null ? null : list.get(0);
}
public PageInfo getAll(int page, int pageSize,String where, Serializable args) {
return dao.selectToPage(page, pageSize,where,args);
}
}
食物分类设计代码片段:
@Service
public class FoodTypeService {
@Inject
private FoodTypeDao dao;
public int add(FoodType foodType) {
return dao.insert(foodType);
}
public int update(FoodType foodType) {
return dao.update(foodType);
}
public int delete(int id) {
return dao.deleteById(id);
}
public FoodType findById(Integer id) {
FoodType var1 = new FoodType();
var1.setId(id);
List<FoodType> list = dao.select(var1);
return list == null ? null : list.get(0);
}
public List<FoodType> query() {
return dao.select();
}
public List<FoodType> query(FoodType foodType) {
return dao.select(foodType);
}
public Integer getFirstType() {
List<FoodType> list = query();
return list == null ? null : list.get(0).getId();
}
}
选菜并加入餐车完成下单逻辑实现:
OrderDetailService.java
@Service
public class OrderDetailService {
@Inject
private OrderDetialDao dao;
public int add(OrderDetail od) {
return dao.insert(od);
}
public List<OrderDetail> query() {
return dao.select();
}
public List<OrderDetail> findByOrderid(Integer id) {
return dao.select("orderid = ?",id);
}
}
OrdersService.java
@Service
public class OrdersService {
@Inject
private OrdersDao dao;
public int update(Orders orders) {
return dao.update(orders);
}
public List<Orders> query() {
return dao.select(new Orders());
}
public int add(Orders orders) {
return dao.insert(orders);
}
public int getCount() {
return getAll(1,1,null,null).getTotalRows();
}
public PageInfo getAll(int page, int pageSize, String where, Serializable args) {
return dao.selectToPage(page,pageSize,where,args);
}
public List<Orders> query(Orders orders) {
return dao.select(orders);
}
}
管理员登陆注册功能逻辑代码:
OrdersService.java
@Service
public class UserService {
@Inject
private UserDao userDao;
/**
* 验证邮箱是否存在
* 存在 --> true
*
* @param email
* @return
*/
public boolean checkEmail(String email) {
User user = new User();
user.setEmail(email);
List<User> select = userDao.select(user);
return CollectionUtil.isNotEmpty(select);
}
public User login(String email, String password) {
User user = new User();
user.setEmail(email);
user.setPassword(password);
List<User> select = userDao.select(user);
return CollectionUtil.isNotEmpty(select) ? select.get(0) : null;
}
public int save(User user){
return userDao.insert(user);
}
}
5、项目数据库详细设计
food食物信息表:
foodtype食物分类信息表:
dinnertable食堂餐桌信息表:
orderdetails和orders订单信息表:
user用户信息表
7、项目部分功能截图
JAVA WEB期末项目第二阶段成果的更多相关文章
- Java web期末项目第一阶段成果发表
摘要 我们做的系统是一个基于Java web与MySQL的食堂订餐系统 班级: 计科二班 小组成员:李鉴宣.袁超 我们的第一阶段主要完成以下三件事: 完成项目的需求分析 完成项目的领域逻辑(domai ...
- JAVA Web期末项目第三阶段成果
我们做的系统是一个基于Java web与MySQL的食堂点餐系统 班级: 计科二班 小组成员:李鉴宣.袁超 项目的测试 在系统部署到云服务器之前,已经在本机上进行了部署测试,通过mvn打包生成war文 ...
- IDEA Java Web(Spring)项目从创建到打包(war)
创建Maven管理的Java Web应用 创建新项目,"create new project",左侧类型选择"maven",右侧上方选择自己的SDK,点击&qu ...
- docker简单入门之使用docker容器部署简单的java web开源项目jpress博客程序
一.在centos7.3上安装docker 前置条件 x86_64-bit 系统 kernel 3.10+ .检查内核版本,返回的值大于3.10即可 [root@node1 ~]# uname -r ...
- 【转】IntelliJ IDEA 创建 hello world Java web Maven项目
学Java的大部分吧都是要整Java web开发项目的,那么最好用的编辑器估计就是这个 IntelliJ IDEA,然后现在maven管理项目是很流行的.然后我就示范一下,如何使用这个IntelliJ ...
- IntelliJ IDEA 创建 hello world Java web Maven项目从头到尾都有图有真相2017版本
学Java的大部分吧都是要整Java web开发项目的,那么最好用的编辑器估计就是这个 IntelliJ IDEA,然后现在maven管理项目是很流行的.然后我就示范一下,如何使用这个IntelliJ ...
- 学生信息的添加 Java web简单项目初试(修改)
错误原因: 1.Java web 的Servlet类没有配置好,并且缺少一个 Dao类(Date Access Object通常用于操作数据库的). 2.代码的某些名称错误,导致数据库数据存储错误. ...
- 第二次正式java web开发项目的总结(回收站恢复)
都说互联网行业加班很是厉害,记得前不久网上还晒出了几个大城市互联网行业的加班排名调查,但是我们公司,或者说我们项目组倒是非常的例外,进公司也差不多半年了,才仅仅上个月有一个周六加过一天班而已. 不过好 ...
- 第一次正式java web开发项目的总结
去年下半年到现在,因为公司人员流动,也有好几个新进的员工分给我来带领,也有刚从学校出来的,在和他们交流的过程中,不由的想起自己刚刚进入这行的一些感想. 记得自己当初写过一篇总结的,我想这些对于刚出校门 ...
随机推荐
- 参考JDK1.8源码,自己写一个类似于ArrayList的动态数组
1. ArrayList的基本实现原理 ArrayLiST其内部用一个普通数组来存储数据,当此数组不够容纳新添加的元素的时候,则创建一个更大长度的新数组,并将原来数组中的元素复制到新数组中. 2.Ar ...
- 深入理解spring中的AOP原理 —— 实现MethodInterceptor接口,自已动手写一个AOP
1.前言 AOP是面向切面编程,即“Aspect Oriented Programming”的缩写.面对切面,就是面向我们的关注面,不能让非关注面影响到我们的关注面.而现实中非关切面又必不可少,例 ...
- ZJNU 1310 - 排队——中高级
蒟蒻做法:追踪1号队员,取他回到原来位置需要的次数 /* Written By StelaYuri */ #include<stdio.h> int main(){ int T,t,n,a ...
- tensorflow实现卷积层的几种方式
#coding:utf-8 #第一种实现 tf.nn import tensorflow as tf import tensorflow.contrib.slim as slim tf.reset_d ...
- centos 从头部署java环境
1.首先安装lrzsz 上传下载服务 yum install -y lrzsz 2.然后检查是否已经安装java rpm -qa|grep java 如果已经安装卸载后再重新安装 3.将下载好的jdk ...
- typescript-学习使用ts-1
Hello World 新建 greeter.ts 并写入以下内容: function greeter(person) { return "Hello, " + person; } ...
- anaconda学习笔记
anaconda介绍 Anaconda指的是一个开源的Python发行版本,其包含了conda.Python等180多个科学包及其依赖项. Conda是一个开源的包.环境管理器,可以用于在同一个机器上 ...
- ServletUtils
package com.ruoyi.common.utils; import java.io.IOException; import javax.servlet.http.HttpServletReq ...
- org.springframework.web.util.UriComponentsBuilder
import org.springframework.web.util.UriComponentsBuilder; UriComponentsBuilder.fromHttpUrl("htt ...
- swift中的坑
1.NSClassFromString //获取工程名称 let group = Bundle.main.infoDictionary let fileName = group?[kCFBundleE ...