第Spring整合Spring-MVC与Hibernate实现网上订餐系统后台_第1页
第Spring整合Spring-MVC与Hibernate实现网上订餐系统后台_第2页
第Spring整合Spring-MVC与Hibernate实现网上订餐系统后台_第3页
第Spring整合Spring-MVC与Hibernate实现网上订餐系统后台_第4页
第Spring整合Spring-MVC与Hibernate实现网上订餐系统后台_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第2323章 SpringSpring整合SpringSpring MVCMVC与HibernateHibernate实现网上订餐系统后台目 录12需求与系统分析 数据库设计 34项目环境搭建 Spring及Spring MVC配置文件 56创建实体类创建DAO接口及实现类7创建Service接口及实现类8开发订餐系统后台各功能模块23.1需求与系统分析 3 管理员登录系统后,就可以对餐品信息、订单信息、客户信息、权限进行管理。管理员用例图如图23-1所示。23.1 需求与系统分析 4 根据需求分析,管理员后台管理功能如下所示 : (1) 管理员可以添加餐品、餐品下架、修改餐品、查询餐品。 (

2、2) 管理员可以创建订单、查询订单、修改订单。 (3) 管理员对添加客户、查询客户、禁用客户。 (4) 超级管理员可以创建普通管理员、设置管理员权限。 根据上述分析,可以得到系统的模块结构,如图23-2所示。23.2数据库设计 5在第22章中,已经详细介绍过网上订餐系统的数据库,后台数据库与前台一样,读者可以查阅。 23.3项目环境搭建 6 在第21章21.7小节中以用户登录为例详细介绍了如何使用Spring 整合Spring MVC与Hibernate,读者可参照完成网上订餐系统后台的框架搭建。当然,读者也可以直接将21.7小节创建的项目springmvc_ssh复制一份并重新命名为rest

3、aurant-back,再导入到MyEclipse中。为避免部署重复,需要修改项目的部署名称。修改过程如下:在MyEclipse中右击复制后的项目restaurant-back,依次选择“PropertiesMyEclipseDeployment Assembly”,将Web Context Root修改为“restaurant-back”即可。然后将jackson-annotations-2.6.0.jar、jackson-core-2.6.0.jar和jackson-databind-2.6.0.jar这三个jar包复制到项目的WebRootWEB-INFlib目录中,用于支持Spring

4、 MVC实现自动Json格式数据转换。 23.3 项目环境搭建 7 订餐系统后台的目录结构如图23-3所示,com.res.controller包用于存放控制器类,com.res.service包用于存放业务逻辑层接口,com.res.service.impl包用于存放业务逻辑层接口的实现类,com.res.dao包用于存放数据访问层接口,com.res.dao.impl包用于存放数据访问层接口的实现类,com.res.entity包用于存放实体类。applicationContext.xml为Spring框架使用的配置文件,springmvc.xml为Spring MVC框架使用的配置文件,

5、admin_login.jsp为管理员登录页,index.jsp为后台管理首页面,meallist.jsp为餐品列表页,createorder.jsp为创建订单页,searchorder.jsp为查询订单页,saler.jsp为订单统计页,userlist.jsp为用户列表页,adminlist.jsp为管理员列表页,Easyui目录下的文件或子目录下的文件为使用Easy UI控件所需的js、css等文件。echarts和echarts-master目录下的文件或子目录下的文件为使用百度图表控件所需的文件。23.4Spring及Spring MVC配置文件 8 Spring框架使用的配置文件为

6、applicationContext.xml,Spring MVC使用的配置文件为springmvc.xml,这些配置文件的含义在21.7小节小节中已具体介绍过,由于篇幅在此不再赘述。 23.5创建实体类9 在com.res.entity包中,依次创建实体类Users.java、 Admin.java、Functions.java、Powers.java、Meal.java、Mealseries.java、Orders.java和Orderdts.java。 23.6创建DAO接口及实现类 10 在com.res.dao包中,依次创建数据访问层接口BaseDao.java、UserDAO.ja

7、va、AdminDAO.java、FunctionsDAO.java、PowersDAO.java、MealDAO.java、MealSeriesDAO.java、OrderDAO.java和OrderdtsDAO.java 。23.6 创建DAO接口及实现类 11 接口BaseDao.java中声明的方法与第22章中相同。 在接口UserDAO .java中声明如下方法: / 获取所有合法用户(即未禁用) public List getValidUser(); / 根据id获取用户对象 public Users getUserById(int id); /根据查询条件(封装在对象u中)、当前

8、页码和每页记录数,分页获取用户列表 public List getUsersByConditionForPager(Users u, int pageIndex,int pageSize); / 根据查询条件(封装在对象u中)计算用户总记录数 public int getTotalCount(Users u); / 更新用户状态 public void updateUserStatus(String uids, String flag); 23.6 创建DAO接口及实现类 12 在接口AdminDAO.java中声明如下方法: / 管理员登录验证 public List adminLogin(

9、Admin admin); / 根据id获取管理员对象及功能权限 public Admin getAdminFunctions(int id); / 获取所有管理员 public List getAllAdmin(); / 新增管理员 public void addAdmin(Admin admin); 23.6 创建DAO接口及实现类 13 在接口FunctionsDAO.java中声明如下方法 : / 获取所有功能对象 public List getAllFunctions(); 在接口PowersDAO.java中声明如下方法: / 删除指定管理员的权限 public void delP

10、owersByAdminid(int adminid); / 添加权限 public void addPowers(int aid, int fid);23.6 创建DAO接口及实现类 14 在接口MealDAO.java中声明如下方法 : / 根据查询条件和每页记录数,获取指定页显示的餐品列表 public List getMealByConditionForPager(Meal meal, int pageIndex,int pageSize); /根据查询条件和每页记录数,计算总页数 public int getTotalPages(int pageSize,Meal meal); /获

11、取指定条件的餐品总数 public int getTotalCount(Meal meal); / 根据id号获取餐品 public Meal getMealByMealId(int mealId); / 添加餐品 public int addMeal(Meal meal); / 修改餐品对象 public void updateMeal(Meal meal); / 修改餐品状态 public int updateMealStatus(String ids); / 获取在售餐品列表 public List getOnSaleMeal(); 23.6 创建DAO接口及实现类 15 在接口Meal

12、SeriesDAO.java中声明如下方法 : / 获取菜系列表 public List getMealSeries(); 在接口OrderdtsDAO.java中声明如下方法: / 根据订单主表编号,获取订单明细列表 public List getOrderdtsByOid(int oid); / 删除订单明细 public int deleteOrderdts(Orderdts od);23.6 创建DAO接口及实现类 16 在接口OrdersDAO.java中声明如下方法 : / 根据查询条件(封装在对象o中)、指定页码、每页记录数,获取当前页 /的订单列表 public List ge

13、tOrderByConditionForPager(Orders o, int pageIndex,int pageSize); / 根据查询条件(封装在对象o中),获取订单总记录数 public int getTotalCount(Orders o); / 根据订单主表编号获取订单对象 public Orders getOrdersByOid(int oid); / 新增订单 public int addOrder(Orders o); / 删除订单 public void deleteOrder(Orders o); / 修改订单 public int modifyOrder(Orders

14、 o); / 餐品销量统计 public List findSalerStandby();23.6 创建DAO接口及实现类 17 在com.res.dao包中,依次创建上述接口的实现类BaseDaoImpl.java、UserDAOImpl.java、AdminDAOImpl.java、FunctionsDAOImpl.java、PowersDAOImpl.java、MealDAOImpl.java、MealSeriesDAOImpl.java、OrderDAOImpl.java和OrderdtsDAOImpl.java。23.7创建Service接口及实现类 18 在com.res.serv

15、ice包中,依次创建业务逻辑层接口UserService.java、AdminService.java、FunctionsService.java、PowersService.java、MealService.java、MealseriesService.java和OrderService.java。 23.7 创建Service接口及实现类 19 在接口UserService.java中声明如下方法: public List getValidUser(); public Users getUserById(int id); public List getUsersByConditionFor

16、Pager(Users u, int pageIndex,int pageSize); public int getTotalCount(Users u); public void updateUserStatus(String uids, String flag); 23.7 创建Service接口及实现类 20 在接口AdminService.java中声明如下方法: / 管理员登录验证 public List adminLogin(Admin admin); / 根据id获取管理员对象及功能权限 public Admin getAdminFunctions(int id); / 获取所有

17、管理员 public List getAllAdmin(); / 新增管理员 public void addAdmin(Admin admin); 在接口FunctionsService.java中声明如下方法: / 获取所有功能对象 public List getAllFunctions(); 在接口PowersService.java中声明如下方法: / 删除指定管理员的权限 public void delPowersByAdminid(int adminid); / 添加权限 public void addPowers(int adminId, String fids); 23.7 创建

18、Service接口及实现类 21 在接口MealService.java中声明如下方法: / 根据id号获取餐品 public Meal getMealByMealId(int mealId); / 根据查询条件和每页记录数,获取指定页显示的餐品列表 public List getMealByConditionForPager(Meal meal, int pageIndex, int pageSize); / 根据查询条件和每页记录数,计算总页数 public int getTotalPages(int pageSize,Meal meal); / 获取指定条件的餐品总数 public in

19、t getTotalCount(Meal meal); / 添加餐品 public int addMeal(Meal meal); / 修改餐品状态(下架) public int updateMealStatus(String ids); / 修改餐品对象 public void updateMeal(Meal meal); / 获取在售餐品列表 public List getOnSaleMeal(); 23.7 创建Service接口及实现类 22 在接口MealSeriesService.java中声明如下方法: / 获取菜系列表 public List getMealSeries();

20、在接口OrderService.java中声明如下方法: / 根据查询条件(封装在对象o中)、指定页码、每页记录数,获取当前页的订单列表 public List getOrderByConditionForPager(Orders o, int pageIndex,int pageSize); / 根据订单主表编号获取订单对象 public Orders getOrdersByOid(int oid); / 根据查询条件(封装在对象o中),获取订单总记录数 public int getTotalCount(Orders o); public int addOrder(Orders o); /

21、新增订单 public void deleteOrder(Orders o); / 删除订单 / 根据订单号获取订单明细 public List getOrderdtsByOid(int oid); public int deleteOrderdts(Orderdts od); / 删除订单明细 public int modifyOrder(Orders o); / 修改订单 public List findSalerStandby(); / 餐品销量统计23.7 创建Service接口及实现类 23 在com.res.service.impl包中,依次创建上述接口的实现类UserServic

22、eImpl.java、AdminServiceImpl.java、FunctionsServiceImpl.java、PowersServiceImpl.java、MealServiceImpl.java、MealseriesServiceImpl.java和OrderServiceImpl.java,并实现接口中的方法。23.8后台登录与管理首页面 24 网上订餐系统后台登录页admin_login.jsp如图23-4所示。23.8 后台登录与管理首页面 25 登录成功后,后台管理首页面index.jsp如图23-5所示。 23.9餐品管理 26 餐品管理主要功能包括:餐品列表显示、查询餐品

23、、添加餐品、餐品下架、修改餐品。23.9.1 餐品列表显示 27 在index.jsp页面中,单击Tree控件上的“餐品列表”节点,打开餐品列表页meallist.jsp,如图23-6所示。23.9.2 查询餐品 28 在餐品列表页meallist.jsp的搜索栏中,输入餐品名称或选择餐品类型(菜系),单击“查找”按钮,可以实现餐品查询。23.9.3 添加餐品 29 在餐品列表页meallist.jsp的工具栏中,单击“添加”按钮,打开新增餐品对话框,如图23-7所示。输入餐品信息,单击“保存”按钮,可以添加餐品。23.9.4 餐品下架 30 在餐品列表页meallist.jsp的DataGr

24、id控件中,勾选某条记录前的复选框,再单击工具栏中的“下架”按钮 ,将餐品状态设置为0,从而实现餐品下架。23.9.5 修改餐品 31 在餐品列表页meallist.jsp的DataGrid控件中,勾选某条记录前的复选框,再单击工具栏中的“修改”按钮,打开“修改餐品”对话框(与添加餐品使用同一个对话框和表单),并将要修改的餐品信息绑定到对话框中的表单文本域中,修改完餐品信息后,单击对话框中的“保存”按钮时, 实现餐品修改。23.10订单管理 32 订单管理主要功能包括:创建订单、查询订单、删除订单、修改订单与查看订单明细。23.10.1 创建订单 33 在index.jsp页面中,单击Tree

25、控件上的“创建订单”节点,打开创建订单页createorder.jsp,如图23-8所示。 23.10.1 创建订单 34 (1)添加订单明细 在创建订单页createorder.jsp中,单击“添加订单明细”按钮,Easy UI的DataGrid控件上会增加一个记录行。 (2) 删除订单明细 在创建订单页createorder.jsp的DataGrid控件中,选中要删除的记录(支持多选),单击“删除订单明细”按钮,可以删除所选择的行。 (3) 保存订单 在创建订单页createorder.jsp中,填写订单主表数据,添加并填写订单明细记录后,单击“保存订单”按钮, 保存订单。23.10.2

26、查询订单 35 在index.jsp页面中,单击Tree控件上的“查询订单”节点,打开订单查询页searchorder.jsp,如图23-9所示。 23.10.3 删除订单 36 在订单查询页searchorder.jsp中,选中DataGrid控件中的某条记录,单击工具栏中的“删除订单”按钮,可将订单主表和明细记录同时删除。23.10.4 修改订单/查看明细 37 在订单查询页searchorder.jsp中,选中DataGrid控件中的某条记录,单击工具栏中的“修改订单/查看明细”按钮,转到订单修改页modifyorder.jsp。订单修改页布局与创建订单页基本相同 。 与创建订单页类似,订单修改页面中也可以使用“添加订单明细”在DataGrid控件最后添加一个记录行,使用“删除订单明细”按钮删除选中的记录行。 完成订单主表数据和明细数据的修改后,单击工具栏中的“保存订单”按钮 。23.10.5 使用Echarts显示销售统计 38在index.jsp页面中,单击Tree控件上的“订单统计”节点,打开订单统计页saler.jsp,如图23-10所示

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论