本發(fā)明涉及計算機數(shù)據(jù)集代碼,尤其是涉及數(shù)據(jù)集代碼生成方法。
背景技術(shù):
現(xiàn)有的數(shù)據(jù)集代碼生成器,一般都是直接訪問數(shù)據(jù)庫,直接根據(jù)數(shù)據(jù)庫中的表名及字段名進行代碼生成,并且所有生成的代碼都在同一個類文件內(nèi),不適合多表數(shù)據(jù)庫。整個數(shù)據(jù)庫所有代碼在同一個類文件內(nèi),行數(shù)可能達到百萬行,可讀性差;若修改一張表則將影響整個類文件,速度也比較慢,因此不適合多表數(shù)據(jù)庫。并且存在以下不足:1、直接讀取數(shù)據(jù)庫中的表名及字段名,生成的代碼也是以混淆后的名字命名,不利于項目開發(fā);2、不能從數(shù)據(jù)庫操作源頭自定義互斥鎖,防數(shù)據(jù)庫并發(fā)操作開發(fā)成本高;3、只能有一個人來維護,不能同時操作,且對人員的技術(shù)要求比較高。
技術(shù)實現(xiàn)要素:
本發(fā)明目的在于針對表名及字段名混淆的數(shù)據(jù)庫,提供一種數(shù)據(jù)集代碼生成方法,所生成的強類型表及字段名稱均采用混淆前的名字,便于代碼編寫和閱讀。
為實現(xiàn)上述目的,本發(fā)明采取下述技術(shù)方案:
本發(fā)明所述的數(shù)據(jù)集代碼生成方法,包括下述步驟:
第一步、連接數(shù)據(jù)庫,讀取數(shù)據(jù)庫中的數(shù)據(jù)表、視圖、表值函數(shù),以及對應(yīng)的字段、類型等信息,做數(shù)據(jù)初始化的第一步;
第二步、如果存在對應(yīng)的XML文件,則讀取對應(yīng)數(shù)據(jù)表的XML文檔數(shù)據(jù),將混淆前數(shù)據(jù)和混淆后數(shù)據(jù)做映射,進行數(shù)據(jù)初始化的第二步;如果不存在對應(yīng)的XML文件,則讀取數(shù)據(jù)庫設(shè)計文檔(固定模板),將所述數(shù)據(jù)表及混淆前的字段進行對應(yīng),然后做數(shù)據(jù)初始化的第二步;
第三步、添加每張數(shù)據(jù)表的操作方法,軟件自動解析變量,做數(shù)據(jù)初始化的第三步;
第四步、根據(jù)數(shù)據(jù)初始化的對象生成代碼,并采用XML方式存儲用戶配置的數(shù)據(jù);
第五步、如果修改或添加某張數(shù)據(jù)表的操作方法,選中該數(shù)據(jù)表,重復(fù)所述第三步、第四步即可,不會對其他表造成任何影響。
每張所述數(shù)據(jù)表對應(yīng)的代碼分別存儲在對應(yīng)一個的cs文件中,行數(shù)在1500行以內(nèi);讀取所述數(shù)據(jù)庫后,對應(yīng)數(shù)據(jù)庫文檔進行映射數(shù)據(jù)表名和字段名,做到明文和混淆文的對應(yīng);對每張數(shù)據(jù)表的原子操作處,添加互斥鎖。
本發(fā)明優(yōu)點體現(xiàn)為以下方面:
1、每張數(shù)據(jù)表對應(yīng)的代碼分別存儲在不同的cs文件中,行數(shù)在1500行以內(nèi),可讀性強,修改任一數(shù)據(jù)表不影響其他數(shù)據(jù)表對應(yīng)的代碼;
2、讀取數(shù)據(jù)庫后,對應(yīng)數(shù)據(jù)庫文檔進行映射數(shù)據(jù)表名和字段名,做到明文和混淆文的對應(yīng),提高項目開發(fā)效率;
3、對每張數(shù)據(jù)表的原子操作處添加互斥鎖,做到源頭控制,提高項目開發(fā)效率;
4、每張數(shù)據(jù)表對應(yīng)一個cs文件,支持多人同時操作。
附圖說明
圖1是本發(fā)明的方法步驟流程框圖。
具體實施方式
下面結(jié)合附圖對本發(fā)明的實施例作詳細說明,本實施例在以本發(fā)明技術(shù)方案為前提下進行實施,給出了詳細的實施方式和具體的操作過程,但本發(fā)明的保護范圍不限于下述實施例。
如圖1所示,本發(fā)明所述的數(shù)據(jù)集代碼生成方法,包括下述步驟:
第一步、連接數(shù)據(jù)庫,讀取數(shù)據(jù)庫中的數(shù)據(jù)表、視圖、表值函數(shù),以及對應(yīng)的字段、類型、默認值、是否為空、主鍵等信息,做數(shù)據(jù)初始化的第一步;
第二步、如果存在對應(yīng)的XML文件,則讀取對應(yīng)數(shù)據(jù)表的XML文檔數(shù)據(jù),將明文和混淆文做映射,初始化操作方法信息,進行數(shù)據(jù)初始化的第二步;如果不存在對應(yīng)的XML文件,則讀取數(shù)據(jù)庫設(shè)計文檔(固定模板),讀取所述數(shù)據(jù)庫后,對應(yīng)數(shù)據(jù)庫文檔進行映射數(shù)據(jù)表名和字段名,做到明文和混淆文的對應(yīng),然后做數(shù)據(jù)初始化的第二步;
第三步、添加每張數(shù)據(jù)表的操作方法,軟件自動解析變量,做數(shù)據(jù)初始化的第三步;
第四步、根據(jù)數(shù)據(jù)初始化的對象生成代碼,對每張數(shù)據(jù)表的原子操作處添加互斥鎖,并采用XML方式存儲用戶配置的數(shù)據(jù),每張數(shù)據(jù)表對應(yīng)的代碼分別存儲在對應(yīng)一個的cs文件中,行數(shù)在1500行以內(nèi);
第五步、如果修改或添加某張數(shù)據(jù)表的操作方法,選中該數(shù)據(jù)表,重復(fù)第三步、第四步即可,不會對其他數(shù)據(jù)表造成任何影響。
本發(fā)明的術(shù)語解釋:
強類型數(shù)據(jù)集:微軟旗下VS中的一項功能;
數(shù)據(jù)庫:數(shù)據(jù)存儲工具 ;
表名混淆:數(shù)據(jù)庫表名用隨機字符命名;
字段混淆:表的字段用隨機字符命名;
Cs文件:C#程序的一種后綴文件。