SSM整合开发——基于SSM的OA系统

一、课程介绍

1、案例----爱慕课OA

前置条件:Mybatis,Spring,Spring MVC ,Mysql

主要技术:Spring IOC,Mybatis+Spring整合,申明式事务,Spring 标签库,Spring拦截器 

功能模块:部门信息管理,员工信息管理,报销单处理

主要角色:员工,部门经理,总经理,财务

OA系统的解析:

员工功能:登入,注销,填写并保存报销单,提交报销单,修改报销单,查看报销单,查询自己填写的报销单

部门经理:查询部门经理待审核报销单,审核报销单

总经理:查询部门经理待审核报销单,审核待审核报销单

财务:查询财务待处理报销单,财务报销单

具体流程:

SSM整合开发——基于SSM的OA系统

 开发环境 :操作系统:Win7  Web容器:Tomcat-8.5  数据库:Mysql-5.7  开发工具:Intellij IDEA

相关资料:

Spring :版本4.0.2.RELEASE(可以选比他版本高的)

Mybatis: 3.4.4

文档:配置文件模板,页面原型

准备模板:

SSM整合开发——基于SSM的OA系统

 

 项目结构:

三层架构:持久层:Mybatis;表现层:Spring MVC ;业务层(不可封装的):JAVABean

基于MVC模式:视图:Jsp ;模型:JavaBean;控制器:Spring Controller

SSM整合开发——基于SSM的OA系统

department是部门,employee是员工,claim_voucher_item:是报销单明细,claim_voucher是报销单,deal_record是处理记录

编写脚本:oa.sql 直接打开cmd实现musql -u root -p root <"oa.sql的路径"后回车键盘把语句导入到数据库里就创建好了数据库内容

创建项目:

有四个moudle(模板模块)

oa:父moudle,全局定义与组织

oa_dao:持久层,Mybatis依赖,Spring依赖,Mybatis-Spring整合,具体代码看打包好的文件里的oa_dao,

SSM整合开发——基于SSM的OA系统

oa-biz:业务层,Aspectj依赖,AOP依赖

SSM整合开发——基于SSM的OA系统

 

oa-web表现层:Servlet依赖、Spring MVC依赖

包以及全局的配置:

oa_dao(持久层):

dao,entity,global

数据源,Session工厂,映射器接口

oa_biz(业务层):

biz,事务

oa_web(表现层)

controller,dto,global

SSM整合开发——基于SSM的OA系统 

dto:控制器和页面之间进行传递的数据可能用实体类不能够表达或者容纳,

不是一致的,不是完全匹配的,所以有时候需要一些对象来传递,dto里面就是对象

global:放表现层拦截的东西,比如过滤器,拦截器

静态资源处理,视图转换器

SpringMVC加载

具体配置XML,详细见代码。

注:持久层的功能太细,web层功能太粗,我们把事务层一个个功能当作事务。

 

其他文件:编码过滤器,静态资源的复制

常态量:报销单处理,处理方式,职务以及职务集合,需复审额度,费用类别集合。

功能实现:

部门管理:部门信息的增删改查,步骤为实体类,dao接口与sql映射文件,biz接口与其实现类,控制器,页面

员工管理·:员工信息的增删改查,关注点:员工与部门的关联关系,默认登入密码

登入及个人中心:登入,退出,个人信息,修改密码,关注点:Session操作 登入拦截器

报销单处理:

填写报销单;

SSM整合开发——基于SSM的OA系统

 

个人报销单,待处理报销单

SSM整合开发——基于SSM的OA系统

修改报销单

SSM整合开发——基于SSM的OA系统

 

提交报销单

SSM整合开发——基于SSM的OA系统

 

审核报销单

打款SSM整合开发——基于SSM的OA系统

 

 

dao层对应的还有这个

 SSM整合开发——基于SSM的OA系统

对应的resources下面的路径相同,XML映射文件最好也和接口的名字相同

 SSM整合开发——基于SSM的OA系统

page里面写控制器代码

 三层架构:业务层:业务公能处理,持久层:持久化操作,表现层:和用户进行交互

 用三个moudle进行的:业务层根据规则会变化很大的代码,web里面的controller是C,

pages是V,剩下的dao和biz都是M,M是对用户请求进行实际处理的,也就是业务功能。

上一篇:【JSP | PHP】if-else根据条件展示不同部分的html


下一篇:FastAPI使用jinja2 渲染模板