java成果_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 query(DinnerTable dt) {
return dao.select(dt);
}
public List 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 query() {
return dao.select();
}
public List query(Food food) {
return dao.select(food);
}
public List 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 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 list = dao.select(var1);
return list == null ? null : list.get(0);
}
public List query() {
return dao.select();
}
public List query(FoodType foodType) {
return dao.select(foodType);
}
public Integer getFirstType() {
List 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 query() {
return dao.select();
}
public List 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 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 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 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 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、項目部分功能截圖
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的java成果_JAVA WEB期末项目第二阶段成果的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java库net2.0下载_.NET F
- 下一篇: java sdk 1.7_jdk 1.7