一、课程介绍

链接: https://pan.baidu.com/s/18B-lWfOUnKZPvuVEHY_NmQ 提取码: ky7t 复制这段内容后打开百度网盘手机App,操作更方便哦

需要 tomcat8版本,IDEA软件,数据库mysql

  公众号【菜鸟进程】领取视频资源

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

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

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

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

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

OA系统的解析:

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

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

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

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

具体流程:

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

相关资料:

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

Mybatis: 3.4.4

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

准备模板:

 项目结构:

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

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

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,

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

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

包以及全局的配置:

oa_dao(持久层):

dao,entity,global

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

oa_biz(业务层):

biz,事务

oa_web(表现层)

controller,dto,global

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

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

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

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

SpringMVC加载

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

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

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

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

功能实现:

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

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

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

报销单处理:

填写报销单;

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

修改报销单

提交报销单

审核报销单

打款

dao层对应的还有这个

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

page里面写控制器代码

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

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

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

SSM整合开发——基于SSM的OA系统的更多相关文章

  1. java web开发入门八(ssm整合)基于intellig idea

    ssm整合 一.导入相关包 二.开发流程 1.写entity package com.eggtwo.euq.entity; import java.io.Serializable; import ja ...

  2. spring和mybatis的整合开发(基于MapperFactoryBean的整合开发(方便简单不复杂))

    MapperFactoryBean是mybati-spring团队提供的一个用于根据mapper接口生成mapper对象的类. 在spring配置文件中可以配置以下参数: 1.mapperInterf ...

  3. ssm整合(基于xml配置方式)

    本文是基于xml配置的方式来整合SpringMVC.Spring和Mybatis(基于注解的方式会再写一篇文章),步骤如下: (1)首先自然是依赖包的配置文件 pom.xml <project ...

  4. 开发步骤Dubbo、spring mvc、springboot、SSM整合开发步骤

    一.Dubbo开发步骤: 链接:https://pan.baidu.com/s/1pMPO1kf 密码:9zaa 第一: 1.创建consumer工程2.在pom.xml文件下添加配置3.添加appl ...

  5. SSM整合开发

    导入开发包 asm-3.2.0.RELEASE.jar asm-3.3.1.jar c3p0-0.9.jar cglib-2.2.2.jar com.springsource.net.sf.cglib ...

  6. SSM整合开发流程

    我的spring是3.2,mybatis是3.4 1 引入user libarary,我的jar文件如下 //spring mvc core springMVC\spring-web-.RELEASE ...

  7. 阶段3 3.SpringMVC·_07.SSM整合案例_02.ssm整合之搭建环境

    创建数据库ssm并创建表account create database ssm; use ssm; create table account( id int primary key auto_incr ...

  8. 如何快速开发基于Winform的应用系统

    在我们实际业务开发中,从头开发一个应用系统,不管是基于BS的前端项目,还是基于Winform的CS应用系统,都是由容易到复杂,逐步演化的一个开发过程,如果我们基于一定基础上,并配合一些配套的开发工具, ...

  9. spring和mybatis的整合开发(基于MapperScannerConfigurer的整合开发(适用于复杂项目,接口较多的情况))

    在实际项目中,Dao层会包含很多接口,这样会导致spring配置文件过于臃肿.这时就需要采用扫描包的形式来配置mybaits中的映射器. 采用MapperScannerConfigurer来实现. M ...

随机推荐

  1. win10连接共享打印机

    一.在运行中输入“\\共享打印机的主机ip”. 二.如果出现下面弹窗: 1.按Win键弹出开始菜单,直接在键盘上按zucelue,这个时候开始菜单里会检索到“编辑组策略”这个程序,按回车运行该程序.2 ...

  2. jdoj 2171: Grape

    jdoj 2171: Grape 题意 题目大意 一个农场的葡萄架上挂着n串葡萄,若取一个葡萄就会获得与其相应的美味值.对于连续的k串葡萄,最多取b串,最少取a串, 问能够获得的最大美味值为多少 数据 ...

  3. c# 第28节 面向对象概述

    本节内容: 1:面向对象概述 2:类与对象的概念 1:面向对象概述 面向对象也称:OOP :object-oriented programming 面向对象的程序设计 面向过程:堆代码,从头开始,自己 ...

  4. FFT/NTT基础题总结

    在学各种数各种反演之前把以前做的$FFT$/$NTT$的题整理一遍 还请数论$dalao$口下留情 T1快速傅立叶之二 题目中要求求出 $c_k=\sum\limits_{i=k}^{n-1}a_i* ...

  5. 多台Linux 7.x服务器具有相同的UUID网络链接参数,肿么办?

    1.查看多台服务器的UUID网络链接参数是否相同 我这里使用SecureCRT的全部交互功能,直接批量输出  /etc/sysconfig/network-scripts/ifcfg-ens33 的内 ...

  6. Azure DevOps Server(TFS) 客户端分析

    Azure DevOps Server(TFS) 是微软公司的软件协作开发管理平台产品,为软件研发.测试.实施提供全流程的服务.作为一款应用服务器产品,他的客户端是什么,在哪里下载客户端?我们在项目实 ...

  7. 转载-Qualcomm MSM8953启动流程:PBL-SBL1-(bootloader)LK-Android

    文章转载链接: https://blog.csdn.net/RadianceBlau/article/details/73229005 对于嵌入式工程师了解芯片启动过程是十分有必要的,在分析.调试各种 ...

  8. TensofFlow函数: tf.image.crop_and_resize

    tf.image.crop_and_resize( image, boxes, box_ind, crop_size, method='bilinear', extrapolation_value=0 ...

  9. JSONObject解析json数据

    首先先看一下我们要解析的json数据是什么样子的: 代码: String url="http://113.57.190.228:8001/Web/Report/GetBigMSKReport ...

  10. 使用yarn来替代npm

    Yarn是由Facebook.Google.Exponent 和 Tilde 联合推出了一个新的 JS 包管理工具 ,正如官方文档中写的,Yarn 是为了弥补 npm 的一些缺陷而出现的 安装yarn ...