從零設計 J2EE + MySQL 人事管理系統資料庫,無經驗該如何下手?
核心實體與關聯
- 部門:`dept(id, name, parent_id)` 自關聯樹形。
- 崗位:`post(id, name, level)` 級別欄位對應統計需求。
- 員工:`emp(id, dept_id, post_id, name, status, entry_date, leave_date, transfer_to_dept_id)` 狀態:在崗/調出/離職/註銷。
- 調動記錄:`transfer_log(emp_id, from_dept, to_dept, date, type)` 追蹤調入/調出。
統計查詢
- 各部門領導數:`where post.level <= 3 and status='在崗' group by dept`。
- 崗位編制與實際人數對比:`left join` 編制表與員工表。
技術落地建議
- 框架:**Spring MVC + MyBatis**(輕量、易上手)。
- 代碼生成:**MyBatis Generator** 依資料表自動產生 Entity、Mapper、Mapper XML,省去大量 CRUD 手寫。
- 分層:Controller → Service → Mapper → DB,前端 JSP/Thymeleaf + Bootstrap。
- 參考開源專案:GitHub 搜 `spring-boot-hr-system`、`jeecg-boot` 等現成人事系統直接二次開發。