BoYuan開發(fā)示例-- 生成簡單的項目。

0. 介紹BoYuan快速開發(fā)框架巴比。

實現(xiàn)頁面權(quán)限或頁面+button權(quán)限基于權(quán)限角色的后臺框架术奖,并有完善的異常攔截寫入日志功能礁遵。
項目為webform開發(fā)模式,簡單的service分層架構(gòu)采记,前端FineUIPro , 數(shù)據(jù)層使用FreeSql+雪花算法實體模式佣耐,兼容各種不同的數(shù)據(jù)庫遷移(支持的數(shù)據(jù)庫:SqlServer, Mysql, Postgresql, Oracle 等)。
配有代碼生成工具和其他利于編程的工具挺庞,優(yōu)秀的編碼體驗晰赞,層次分明,簡單易學(xué)选侨,從而實現(xiàn)快速開發(fā)的目的掖鱼,適用于中小型項目快速開發(fā)。
建議使用vs2017以上版本開發(fā)工具 援制, mssql數(shù)據(jù)庫 戏挡,F(xiàn)ramework 4.5 以上版本。
有建議或問題晨仑,歡迎聯(lián)系我

在線視頻使用教程

https://www.bilibili.com/video/BV1864y1o7te

免費開源的簡化版BoYuan框架:SugarFineUI

https://gitee.com/sundayisblue/SugarFineUITool

關(guān)于架構(gòu)變化說明:原來使用的orm是sqlsugar褐墅,現(xiàn)在替換為freesql,原因是freesql功能多穩(wěn)定并且對其他數(shù)據(jù)庫兼容性更好洪己。寫法上有些差異妥凳,但lambda風(fēng)格不變

1. 項目初始化,并創(chuàng)建數(shù)據(jù)庫答捕。

打開代碼生成項目逝钥,如圖會看到項目基本結(jié)構(gòu)。也可以參看項目說明文檔拱镐,會有項目概述艘款。

項目概述

讓我們先從數(shù)據(jù)庫創(chuàng)建開始,以SqlServer為例子(其他數(shù)據(jù)庫一樣的操作)沃琅。如下圖哗咆,填寫好對應(yīng)數(shù)據(jù)庫的鏈接,點擊執(zhí)行“初始化表”按鈕益眉,即可完成相關(guān)基礎(chǔ)表結(jié)構(gòu)晌柬。

執(zhí)行代碼工具頁面
初始化權(quán)限相關(guān)數(shù)據(jù)庫
生成的默認表

創(chuàng)建我們的業(yè)務(wù)表,這里創(chuàng)建員工表部門表郭脂。默認都是以id作為主鍵空繁,注意不要設(shè)置成自增 否則不利于數(shù)據(jù)庫遷移,默認是long類型(sqlserver里是bigint)朱庆。

員工表
部門表

2. 生成Entity實體模型和FineuiPro頁面代碼。

創(chuàng)建好數(shù)據(jù)庫后闷祥,我們就可以執(zhí)行代碼工具娱颊。

首先 生成FreeSql實體傲诵,選擇對應(yīng)的頁面。如下圖箱硕,點擊連接數(shù)據(jù)庫拴竹,暫時不支持單表實體生成。默認是放到C盤目錄下剧罩,個人不喜歡直接覆蓋到項目代碼栓拜,當(dāng)然如果你喜歡可以修改。


連接數(shù)據(jù)庫生成實體模型.png

把生成的實體放入到entity層


連接數(shù)據(jù)庫生成對應(yīng)的實體模型

生成FineUIPro頁面惠昔。 選擇FineUIPro頁面幕与,先在右邊連接好數(shù)據(jù)庫,選擇要生成頁面的相關(guān)表,代碼生成是根據(jù)單表結(jié)構(gòu)來生成的;生成代碼相關(guān)信息钱贯,比如說命名空間艘绍、路徑等,默認不需要修改柠贤;生成的代碼默認放在C盤,這里我只想生成編輯頁面,列表頁面中狂,單選即可,最后點擊生成簡單代碼按鈕扑毡,生成相關(guān)頁面胃榕。

生成頁面設(shè)置.png

把生成頁面代碼放入到項目中,先別著急運行項目:選中項目->vs菜單項目->執(zhí)行轉(zhuǎn)換為Web應(yīng)用程序僚楞。

把生成頁面代碼放入到項目中.png

轉(zhuǎn)換為Web應(yīng)用程序

如果想查看單頁面生成代碼勤晚,選擇表(多選的表還是默認選擇選中的第一個表),點擊按鈕顯示單頁代碼即可泉褐。

單頁代碼顯示

至此項目代碼生成完畢赐写,重新編譯生成項目,保證項目不報錯膜赃。

3. 更改數(shù)據(jù)庫挺邀。

更改數(shù)據(jù)連接字符串,如圖在web.config中設(shè)置跳座。

web.config

更改數(shù)據(jù)庫類型端铛。注意 如果是PostgreSQL 要設(shè)置為小寫,oracle 要設(shè)置為大寫疲眷,通過設(shè)置UseNameConvert參數(shù)來設(shè)置禾蚕,其他數(shù)據(jù)可以不用設(shè)置此參數(shù)。
設(shè)置數(shù)據(jù)庫的類型

4. 權(quán)限配置狂丝。

運行項目BoYuan.FineuiProWeb换淆。在login.aspx頁面里哗总,我為了方便調(diào)試,page_load事件里增加了自動登錄的代碼倍试,項目發(fā)布時候不要忘記刪除讯屈。


默認登錄

登錄后默認能看到相關(guān)的管理員設(shè)置。如果想顯示新增加的頁面到系統(tǒng)里县习,在頁面組件里設(shè)置涮母。

添加頁面組件

右鍵點擊根節(jié)點,可以添加根頁面躁愿;


右鍵添加頁面

如下圖叛本,左邊點擊可以設(shè)置頁面所在路徑。右邊URL地址,可以設(shè)置url地址攘已,也可以是外網(wǎng)地址(需要填寫完整的url炮赦,例:https:// www .baidu .com);如果是文件夾样勃,可以不填寫吠勘。狀態(tài)顯示 是在左側(cè)菜單里是否顯示狀態(tài)。

添加頁面組件

回頭峡眶,我們看下代碼生成工具剧防,批量添加頁面組件。如果生成的頁面比較多辫樱,手動一個個添加是個麻煩的體力活兒峭拘。當(dāng)然我也想偷懶,讓Boyuan框架幫你去做狮暑。一鍵添加頁面組件到數(shù)據(jù)庫里鸡挠,如下圖。會根據(jù)你項目所有的aspx文件搬男,同步到數(shù)據(jù)里拣展。(同理,可以同步button權(quán)限缔逛,這里暫時不討論button權(quán)限备埃。)


一鍵添加頁面組件到數(shù)據(jù)庫

我們在回來,在系統(tǒng)中查看一下褐奴,同步的頁面組件數(shù)據(jù)按脚。當(dāng)然 頁面名稱需要自己修改,如下圖敦冬。


同步后頁面組件數(shù)據(jù)

設(shè)置權(quán)限角色辅搬。如下圖,更改超級管理員角色權(quán)限脖旱,讓新增的頁面顯示出來伞辛。打挑的都是有權(quán)訪問的頁面烂翰。


設(shè)置角色的權(quán)限

查看生成的頁面,可以CRUD數(shù)據(jù)了蚤氏,但是離你的業(yè)務(wù)還差一點,這需要手動編碼了踊兜。


查看生成的頁面

5. 完善業(yè)務(wù)代碼竿滨。

  1. 部門管理 模塊。添加或編輯頁面基本可以不動捏境。部門列表頁面的需要于游,添加關(guān)鍵詞搜索,偽刪除功能實現(xiàn)垫言。

部門列表頁面 關(guān)鍵詞代碼實現(xiàn):紅框里代表修改的代碼贰剥,獲取關(guān)鍵詞,模糊查詢部門名稱筷频。

關(guān)鍵詞代碼實現(xiàn)

部門列表頁面 偽刪除功能: 默認是批量刪除代碼蚌成,需要修改成偽刪除代碼。如下圖凛捏。

修改后的偽刪除方法

  1. 員工管理 模塊担忧。員工管理涉及到多表連接查詢,添加一個員工信息同時需要添加所在部門坯癣,這里我們用下拉框來表示部門瓶盛。

員工管理 列表頁面,需要添加性別下拉框示罗,部門下拉框惩猫,員工姓名或員工編碼模糊查詢。性別字段蚜点,這里我打算用枚舉對象來實現(xiàn)轧房,我們先創(chuàng)建個性別枚舉。

性別枚舉

列表頁面的初始化方法禽额,增加性別

性別aspx

性別cs

列表頁面的初始化方法锯厢,增加部門

部門aspx

部門aspx列表字段
部門cs

列表頁面的綁定方法 bind:

先做關(guān)聯(lián)查詢。如下圖脯倒,寫select字段比較麻煩实辑,如果字段太多是個很不爽的體力活。BoYuan框架有解決方案藻丢。


FreeSql左查詢

選擇代碼工具剪撬,反射獲取字段代碼頁面。如下圖悠反,操作獲取員工相關(guān)字段信息残黑。


反射獲取員工實體字段信息

同理馍佑,可以獲取部門字段信息。


反射獲取部門實體字段信息

最后把梨水,上面操作的2段代碼進行復(fù)制到項目里拭荤,并合并。


合并后的顯示字段代碼

動態(tài)添加查詢條件疫诽。列表頁面所有的業(yè)務(wù)邏輯完成舅世。


動態(tài)添加查詢條件

員工管理 編輯頁面,業(yè)務(wù)代碼完善奇徒。如下圖雏亚,需要修改性別所在部門 為下拉框。

待完善的編輯頁面

修改編輯頁面:


編輯頁面aspx
后臺page_Load事件
后臺button事件

至此摩钙,所有的業(yè)務(wù)代碼完成罢低。自己添加數(shù)據(jù)試試效果吧!

6. 項目開發(fā)小技巧胖笛。

項目提供完整的異常追蹤功能网持,并輸出到Log中,方便線上發(fā)布排查問題匀钧。同時也debug下也會輸出所有的sql翎碑,方便調(diào)試代碼。

如果你遇到此問題


登錄異常之斯,有可能是數(shù)據(jù)庫連接問題

請排查項目或服務(wù)器上Log


在vs項目中根目錄logs下生成的log文件

vs的輸出窗口會有追蹤所有運行的sql日杈,方便編程調(diào)試。如下圖


debug下實時運行的sql
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末佑刷,一起剝皮案震驚了整個濱河市莉擒,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌瘫絮,老刑警劉巖涨冀,帶你破解...
    沈念sama閱讀 218,755評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異麦萤,居然都是意外死亡鹿鳖,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評論 3 395
  • 文/潘曉璐 我一進店門壮莹,熙熙樓的掌柜王于貴愁眉苦臉地迎上來翅帜,“玉大人,你說我怎么就攤上這事命满±缘危” “怎么了?”我有些...
    開封第一講書人閱讀 165,138評論 0 355
  • 文/不壞的土叔 我叫張陵,是天一觀的道長歼疮。 經(jīng)常有香客問我杂抽,道長,這世上最難降的妖魔是什么韩脏? 我笑而不...
    開封第一講書人閱讀 58,791評論 1 295
  • 正文 為了忘掉前任缩麸,我火速辦了婚禮,結(jié)果婚禮上骤素,老公的妹妹穿的比我還像新娘匙睹。我一直安慰自己,他們只是感情好济竹,可當(dāng)我...
    茶點故事閱讀 67,794評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著霎槐,像睡著了一般送浊。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上丘跌,一...
    開封第一講書人閱讀 51,631評論 1 305
  • 那天袭景,我揣著相機與錄音,去河邊找鬼闭树。 笑死耸棒,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的报辱。 我是一名探鬼主播与殃,決...
    沈念sama閱讀 40,362評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼碍现!你這毒婦竟也來了幅疼?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,264評論 0 276
  • 序言:老撾萬榮一對情侶失蹤昼接,失蹤者是張志新(化名)和其女友劉穎爽篷,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體慢睡,經(jīng)...
    沈念sama閱讀 45,724評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡逐工,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了漂辐。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片泪喊。...
    茶點故事閱讀 40,040評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖者吁,靈堂內(nèi)的尸體忽然破棺而出窘俺,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 35,742評論 5 346
  • 正文 年R本政府宣布瘤泪,位于F島的核電站灶泵,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏对途。R本人自食惡果不足惜赦邻,卻給世界環(huán)境...
    茶點故事閱讀 41,364評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望实檀。 院中可真熱鬧惶洲,春花似錦、人聲如沸膳犹。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽须床。三九已至铐料,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間豺旬,已是汗流浹背钠惩。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留族阅,地道東北人篓跛。 一個月前我還...
    沈念sama閱讀 48,247評論 3 371
  • 正文 我出身青樓,卻偏偏與公主長得像坦刀,于是被迫代替她去往敵國和親愧沟。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,979評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 簡書又升級了求泰,又能加入日更了央渣。 還有可供書寫的日志模式,真是越來越好了渴频。剛才不是按照那個日志模式寫了一篇嗎芽丹?不能算...
    泡沫有故事閱讀 333評論 0 5
  • 春宵 (宋)蘇軾 春宵一刻值千金,花有清香月有陰卜朗。 歌管樓臺聲細細拔第,秋千院落夜沉沉。
    大名100馮艷慧閱讀 158評論 0 0
  • 最近场钉,這本書很火蚊俺,名字讓人很好奇,這個男孩怎么用奇跡來形容呢? 而且逛万,介紹說這本小說被拍成電影泳猬,已于2018年1月...
    陶子_演說教練閱讀 350評論 0 0
  • 說起那只雞,究竟是哪只雞,哪家的雞得封,我們無從得知埋心。只知道那天我媽騎著摩托車載著我穿過老家門前的那條羊腸小道。高大...
    林鹿深閱讀 355評論 0 0