連接: https://pan.baidu.com/s/18B-lWfOUnKZPvuVEHY_NmQ 提取碼: ky7t 複製這段內容後打開百度網盤手機App,操做更方便哦mysql
須要 tomcat8版本,IDEA軟件,數據庫mysqlweb
前置條件:Mybatis,Spring,Spring MVC ,Mysqlsql
主要技術:Spring IOC,Mybatis+Spring整合,申明式事務,Spring 標籤庫,Spring攔截器 數據庫
功能模塊:部門信息管理,員工信息管理,報銷單處理tomcat
主要角色:員工,部門經理,總經理,財務架構
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是對用戶請求進行實際處理的,也就是業務功能。