SSM + easyUI 搭建簡易的人事管理系統 系統概要部分

只爭朝夕^ω^)↗發表於2018-08-27

 注意本文字章節只是將一個完整系統的概要進行展示,並加入我自己的一些思考,對細節部分不再贅述,有時間再進行補充程式碼等部分;

目前太亂還未整理,不建議觀看!

part1:

Java EE 架構:SSM(Spring + Spring MVC + MyBatis)框架
表現層技術:JSP
前端框架:easyUI
專案管理工具:Maven
資料庫:MySQL

part2 開發環境部分的準備

對maven進行解壓:wget tar -zvxf apache-maven-3.3.9-bin.tar.gz
對文件進行編輯:sudo gedit /etc/profile
建立資料庫庫:create database hrms_db;
使用資料庫:user hrms_db;
表的建立:create table admin_tb(
admin_id int(11) not null auto_increment,
username varchar(20) not null,
role_name varchar(20) not null default ‘normaladmin’,
primary key(admin_id),
foreign key(admin_id) references admin_tb(admin_id)
);
插入資料:insert into admin_tb(username,password,role_name) values(‘superadmin’,’123456’,’superadmin’),(‘admin1’,’123456’,’normaladmin’);

持久化實體
Domain Object 層
在專案 hrms 的 Java Resources 目錄的 src/main/java 下新建包 com.shiyanlou.domain,作為 Domain Object 層的包。
在 src/main/java 目錄下的 com.shiyanlou.domain 包中新建實體類 Admin,作為管理員表 的對映。
Domain Object 層實體類的設計實現, 就是為每一張資料庫的表做一個對映,建立對應的實體

本節課程主要利用 MyBatis 框架實現 DAO 層。
首先在專案 hrms 的 Java Resources 目錄的 src/main/java 下新建包 com.shiyanlou.dao,作為 DAO 層的包, 並在 src/main/resources 下新建一個 Folder mappers 用來放置 MyBatis 的 mapper.xml 檔案。
在目錄 src/main/resources 下新建 MyBatis 配置檔案 mybatis-config.xml ,在這裡主要配置了為 JavaBean 取別名,
在包 com.shiyanlou.dao 下建一個 AdminDao.java 介面檔案,程式碼如下:
接著在 src/main/resources/mappers 路徑下新建與 AdminDao 介面對應的對映檔案 AdminMapper.xml,程式碼如下:

本節課程主要利用 Spring 框架實現 Service 層。
在專案 hrms 的目錄 src/main/java 下新建包 com.shiyanlou.service,作為 Servcie 層介面的包,新建包 com.shiyanlou.service.impl 作為 Servcie 層實現的包。
在包 com.shiyanlou.service 下建一個 AdminService.java 介面檔案,程式碼如下:
在包 com.shiyanlou.service.impl 下建一個類 AdminServiceImpl 實現上述的介面,程式碼如下:

本節課程將整合 Spring 和 MyBatis,並採用 Junit 進行單元測試。

1.2 實驗知識點
Spring - MyBatis 整合
Junit 單元測試
在目錄 src/main/resources 下新建日誌檔案 log4j.properties ,在裡面新增如下內容:

# Global logging configuration
log4j.rootLogger=DEBUG, stdout
# Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n

在目錄 src/main/resources 下新建 JDBC 屬性檔案 jdbc.properties ,在裡面新增如下內容:

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/hrms_db
jdbc.username=root
jdbc.password=

在目錄 src/main/resources 下新建 spring-mybatis.xml 配置檔案,該檔案用來完成 Spring 和 MyBatis 的整合,主要包括了自動掃描,自動注入,配置資料庫等,內容如下:
在專案 hrms 的 Java Resources 目錄的 src/test/java 下新建包 com.shiyanlou.test,並在該包下新建測試類 SpringMybatisTest,新增如下程式碼:
在這裡只測試了登入功能,目的是測試 Spring 與 MyBatis 是否整合成功,其他可以自行測試。

以 Junit Test 方式執行 SpringMybatisTest 測試類。

本節課程主要利用 Spring MVC 框架實現 Controller 層以及一些輔助類的實現。

1.2 實驗知識點
Spring MVC 框架
在專案 hrms 的目錄 src/main/java 下新建包 com.shiyanlou.controller,作為 Controller 層的包,新建包 com.shiyanlou.util,作為輔助類的包,這些輔助類是為了使 Controller 層的程式碼更好維護,以及實現一些其他功能。
2.1.1 DateUtil 類
在包 com.shiyanlou.util 下建一個輔助類 DateUtil,其中的 getDate() 方法的作用是返回格式化的當前日期,程式碼如下:
2.1.2 JsonDateValueProcessor 類
在包 com.shiyanlou.util 下建一個輔助類 JsonDateValueProcessor,其作用是將日期轉化使之能在 easyUI 的 datagrid 中正常顯示,程式碼如下:
2.1.3 ResponseUtil 類
在包 com.shiyanlou.util 下建一個輔助類 ResponseUtil,其 write() 方法的作用是將用 HttpServletResponse 返回前臺 JSON 格式資料,同時減少 Controller 層程式碼的冗餘,程式碼如下:
2.1.4 IntegrateObject 類
在包 com.shiyanlou.util 下建一個輔助類 IntegrateObject,其 genericAssociation() 方法的作用是完成 Employee 與 Department, Position 物件的關聯對映,程式碼如下:
2.2.1 AdminController
在包 com.shiyanlou.controller 下新建一個類 AdminController,程式碼如下:

本節課程主要利用 easyUI 實現系統的前端頁面。

1.2 實驗知識點
easyUI
JavaScript
html

在專案 hrms 的 src->main->webapp 下新建 Folder views。

2.5.1 adminManage.jsp
在專案 hrms 的 src->main->webapp->views 下新建 JSP 頁面 adminManage.jsp 作為系統管理頁面,並新增如下程式碼:

本節課程主要利用 Spring MVC 框架實現攔截器以及 Spring MVC 框架的整合。

1.2 實驗知識點
Spring MVC 框架
攔截器

在專案 hrms 的目錄 src/main/java 下新建包 com.shiyanlou.interceptor,並在該包下新建類 LoginInterceptor,來驗證使用者是否登入,程式碼如下:
在目錄 src/main/resources 下新建 Spring MVC 配置檔案 spring-mvc.xml,新增如下程式碼:

Tomcat 的使用

本專案中的人事管理系統,採用了 SSM 框架+ easyUI 技術實現。在專案的開發過程中,首先是對系統進行了分析,在這裡只做了功能性分析,然後是進行設計,如系統設計、資料庫設計、介面設計等,其次才是編碼實現,最後是測試。系統的整個開發工程中,用到了多種技術,包括輕量級 Java EE 開發框架 SSM,前端框架 easyUI 等。本專案的系統只是比較簡易的人事管理系統,功能也比較簡單,還有一些細節並未完善,如檔案的上傳下載、分頁、頁面的優化等方面。

本次課程的目的主要在於讓同學們親自動手採用 SSM 框架實現簡單的開發,相信通過本課程,同學們的編碼能力能得到提高。

相關文章