三層我就不說了,主要是看架構思路可擴充。以前用FineUI開源版寫過一版,修修改改自己用了,沒有特意的整理,FineUIMVC開發還是比較快,移植了一下兩天就弄完了,算是一個對新手有用的工具,先放出第一版釋出版,沒有源碼但是有接口,也搭着好久沒更新部落格了(主要是MVC挺簡單的沒啥可寫的...)是以在這詳細說明下。
1.使用
加入了本地資料庫,sqlite,主要記錄下連接配接位址和接口位址,我本地Win10 64 環境 IIS釋出後需要設定下32位相容性:
啟動後就可以連接配接資料庫了,目前支援SqlServer 和MySQL,配置位址和密碼,測試下會有連接配接成功提示,連不上的話,就不知了。
單擊資料庫名,可以加載資料庫表,選擇要生成的表,點選選擇按鈕移動到右邊,左側表有個搜尋功能,兩個表互動是純前端的,有用到的可以檢視下源碼
選擇表的主鍵,主鍵影響增删改,處理的是int型,架構會自增長,到架構時再說。
填寫項目名稱,架構預設了兩個資料庫幫助類,預設資料庫通路類是項目隻能有一個資料庫類型的意思,生成模式傳統和自定義,目前這個分類還沒啥作用,就是自定義的時候除了主鍵都是string類型罷了(傳統是按資料庫類型),
這時點選生成就可以生成項目了,項目位址在釋出檔案夾下,項目檔案,時間加項目名稱檔案夾
2.架構
生成的代碼架構是三成的小架子,沒有前台,當然可以自己見模闆,一會再說。拷貝到項目中就能直接用,用起來還是很友善的
BP,檔案夾,按表生成,一個表一個三層,MySql和SQLserver的路由在Base/BPBase.cs中,通過Config/DataConfig.ini配置,代碼看一眼注釋應該都能看懂,不行打個斷點走一遍。
3.模闆和接口
為了保證靈活開放了模闆和接口。
詳細介紹模闆檔案就在釋出檔案的mould中,字尾名.codemod的是模闆檔案,可以直接用記事本打開,修改其中$$***$$就是要替換的動态字元了,是以生成代碼一點不神秘很偷懶,後續我會把程式預設的字典說明加上,其實看模闆也能看懂,沒啥神奇的,不喜歡模闆可以随便改。
辨別符 | 說明 | 對應屬性/來源 | 備注 |
$$namespace$$ | 項目名稱/命名空間 | ModelHelp.MsCodeSetup.namespacestr | 前台填寫 |
$$connectionString$$ | 資料庫連接配接位址 | ModelHelp.MsCodeSetup.conStr | 前台生成 |
$$DbHelperMySQL$$ | MySQL幫助類 | ModelHelp.MsCodeSetup.mysqlclassname | |
$$DataAccessor$$ | SQL Server幫助類 | ModelHelp.MsCodeSetup.sqlclassname | |
$$ColunName$$ | Message字段(預設列名) | MsTableColumns.ColunMs | 資料庫讀取 |
$$ColunNotes$$ | 列字段說明 | MsTableColumns.ColunNotes | |
$$tablename$$ | 表名 | MsTableColumns.TableName | |
$$KEY$$ | 主鍵字段 | 作為參數傳入 MsTableColumns | |
$$KEYname$$ | 主鍵字段列名 | 作為參數傳入 MsTableColumns.ColunName | |
$$type$$ | 字段類型 | 根據列字段類型動态生成 | |
$$MsContent$$ | 生成資料表實體時格式标記 | 見 MsTable.codemod 模闆 | |
$$_ForMsToGetMs$$ | 生成selectSQL語句時的特殊标記 | 見 SQLTable.codemod 模闆 | |
$$_ForCmToAddMs$$ | 生成insertSQL語句時的特殊标記 | ||
$$_ForMsToAddMs$$ | |||
$$_ForMsToUpMs$$ | 生成updateSQL語句時的特殊标記 |
再動态的生成可以使用接口配置
比如我建立個類庫,引用CodeFactoryMVC.Main.dll
Class1實作接口ICodeFactory,這樣我就參與了生成過程,并繼承所有配置參數,表名,資料庫名,字段,字段備注...感動的我要掉眼淚了
生成該項目後,需要把dll放到模闆生成的bin檔案夾下,
在web上配置一下就可以用了,如果沒效果的話,發給我、我調試...
下載下傳位址
http://fineui.com/bbs/forum.php?mod=viewthread&tid=21482其他擴充
釋出檔案中還包括一個FineUIMVC的擴充,FineUIMVCEx.dll FineUIOvereide.js FineUIOvereide.css animate-3.5.2.min.css
前台的東西比較多,也藏不住,幹脆就說明一下,如果覺得一些效果很合口味可以聯系我 /陰險
另外這個項目還沒做完,下載下傳沒有做,如果喜歡的話可以關注,發兩個贊助二維碼,也不知道會不會有人掃描(奈何我發什麼都是企業級應用)