一生一品項目管理系統軟件開發文檔

介紹

項目名: 一生一品項目管理系統(stupro)

使用技術

框架

  • Spring Boot
    項目的基礎框架,想必不用我多說了吧
  • MyBatis Plus
    基於持久層框架MyBatis的增強工具,有強大的代碼生成器,自動填充字段等功能
  • Spring Data JPA
    持久層框架,Spring 全家桶的一員,用於訪問各類SQLNoSQL數據庫。使用它的原因是因爲項目中還應有了MongoDB數據庫。
  • Activiti/Flowable
    兩個都是工作流引擎,項目中使用的是Flowable。因爲Flowable是Activiti 6.0的Fork,
    所以,學習過Activiti的可以無縫切換到Flowable

數據庫

  • MySQL
    用來存儲絕大多數數據
  • MongoDB
    存儲數據量大且對錯誤不敏感的數據

其他

  • Maven
  • Git
  • Lombok

數據庫設計規範

建表規範

  • 每張表都要加前綴“stupro_”,與框架產生的表(如:activiti產生的表的前綴是“ACT_”)相區分

通用字段說明

數據庫的每張表(包括MongoDB)都包含了以下字段:

  • id
    • 主鍵,36位的UUID,系統自動生成
    • Java類型:String
    • MySQL類型:varchar(36)
    • MongoDB未知(反正MongoDB又不需要建表,直接用JPA操作就完事了)
  • sort_id
    • 專門用於排序的id,由系統使用雪花算法自動生成。與create_datetime 配合使用,以解決create_datetime在高併發的情況下產生相同值的情況
    • Java類型:Long
    • MySQL類型:bigint(36)
    • MongoDB未知,理由同上
  • create_by
    • 添加本條記錄的用戶名(username),username便於直觀的查找
    • Java類型:String
    • MySQL類型:varchar(36)
    • MongoDB未知,理由同上
  • create_datetime
    • 添加記錄的時間,系統自動生成
    • Java類型:LocalDateTime
    • MySQL類型:datetime(0)
    • MongoDB未知,理由同上
  • update_by
    • 修改本條的時間,系統自動生成
    • Java類型:LocalDateTime
    • MySQL類型:datetime(0)
    • MongoDB未知,理由同上
  • update_datetime
    • 修改本條的時間,系統自動生成
    • Java類型:LocalDateTime
    • MySQL類型:datetime(0)
    • MongoDB未知,理由同上
  • deleted
    • 邏輯刪除
    • Java類型:String
    • MySQL類型:varchar(2)
    • MongoDB未知,理由同上
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章