java 代碼規則思考

實體類規範:

網絡傳輸:DTO。 如前端傳值到後端。
中間層:BO。 如查詢條件,數據庫連表後接受實體類。
數據庫表:DO。如user_tab表對應的實體類。
界面展現層:VO。 返回給前端的實體類。前端

VO實體類:

因爲java有默認的數據類型。例如int和Integer,那麼在實體類中應該如何定義呢?
答:當前端須要的值爲0或者其餘整數時,定位爲int。又例如:前端須要的值爲null或者
其餘整數時,定義爲Integer。
例子:OA系統時返回項目逾期時長。若是項目還沒到逾期時間,那麼返回的值確定不能爲0,
只能爲Integer。

BO實體類:

推薦所有都用包裝類,由於mybatis進行<if>標籤判斷的時候,均可以用 `null`進行判斷。

DO實體類:

推薦使用包裝類,接受數據庫查詢返回時,若是爲空,能夠直接獲取而不用轉爲基本數據類型。

SQL規範:

  1. 究竟是否須要錶鏈接?
    若是你不用錶鏈接,你須要先在一張表查詢,而後須要判斷數據是否存在,接着經過這張表查詢的數據進行外鍵的查詢。
    若是使用了錶鏈接,能夠幫你節省大量的代碼,在錶鏈接的同時自動替你判斷數據是否存在。然而這會存在表數據重複的問題,儘管你能夠使用group by,但有時候sum這些聚合函數會不適用與你的業務場景。
相關文章
相關標籤/搜索