擼一段 SQL ? 還是擼一段代碼?

   記得剛入公司帶我的研發(fā)哥們能寫一手漂亮的 SQL,搜索準確、執(zhí)行快、效率高。

   配合Web項目中的查詢展示數(shù)據(jù)的需求,基本是分分鐘完成任務。

   那段時間基本是仰視的態(tài)度,每天都去討教一點手寫 SQL 的要點,翻看一些 SQL 優(yōu)化調(diào)整的技巧。

   隨著積累和實踐,SQL 水平提高的很快,同時也寫了很多,有興趣的可以看看:http://www.cnblogs.com/

   隨后經(jīng)歷了幾個項目的打磨,不斷去調(diào)整公司的框架,發(fā)現(xiàn)項目中大段 SQL 出現(xiàn)的概率越來越小。

   我不得不停下腳步,開始反思和總結出現(xiàn)這種現(xiàn)象的原因。如果你手上不忙并且感興趣,請聽我慢慢道來。

   下面是一個經(jīng)典的系統(tǒng)權限數(shù)據(jù)庫設計,作為例子來展開論述。

   組織機構、用戶、角色、菜單作為4個主要設計對象,添加三張兩兩關系映射表。

   能很好的做到水平和縱向擴展,其中主要設計對象我只添加了幾個需要的字段。

   該設計完全可以引入到你的項目中,根據(jù)項目實際使用人群和需求添加必要字段。

   然后配合 Shiro 或者 Spring -Security 能很完美的解決組織用戶角色菜單的權限問題。

   言歸正傳,項目需求中有這個一個要求,需要推送當前用戶所有的菜單項,SQL寫法。

網(wǎng)友評論