本發(fā)明涉及軟件開發(fā)領域,更具體地,涉及一種基于orm框架的數(shù)據(jù)庫開發(fā)方法及裝置。
背景技術:
數(shù)據(jù)庫(database)是按照數(shù)據(jù)結(jié)構(gòu)來組織、存儲和管理數(shù)據(jù)的倉庫,它產(chǎn)生于距今六十多年前,隨著信息技術和市場的發(fā)展,特別是二十世紀九十年代以后,數(shù)據(jù)管理不再僅僅是存儲和管理數(shù)據(jù),而轉(zhuǎn)變成用戶所需要的各種數(shù)據(jù)管理的方式。數(shù)據(jù)庫有很多種類型,從最簡單的存儲有各種數(shù)據(jù)的表格到能夠進行海量數(shù)據(jù)存儲的大型數(shù)據(jù)庫系統(tǒng)都在各個方面得到了廣泛的應用。
在信息化社會,充分有效地管理和利用各類信息資源,是進行科學研究和決策管理的前提條件。數(shù)據(jù)庫技術是管理信息系統(tǒng)、辦公自動化系統(tǒng)、決策支持系統(tǒng)等各類信息系統(tǒng)的核心部分,是進行科學研究和決策管理的重要技術手段。
sqlite是遵守acid的關系型數(shù)據(jù)庫管理系統(tǒng),它能夠支持windows/linux/unix等等主流的操作系統(tǒng),同時能夠跟很多程序語言相結(jié)合,比如tcl、c#、php、java等,還有odbc接口。
目前,很多android應用也需要用到sqlite數(shù)據(jù)庫來存儲數(shù)據(jù)。一般來說,開發(fā)者必須自己創(chuàng)建數(shù)據(jù)庫,然后創(chuàng)建數(shù)據(jù)庫表、表索引和增/刪/改/查數(shù)據(jù)等操作。并且如果需要繼續(xù)進行多個數(shù)據(jù)庫表之間的一對多關聯(lián),則需要更多的增/刪/改/查操作,就必須自己寫很多sql語句,還需要做java變量到數(shù)據(jù)庫記錄之間的相互轉(zhuǎn)換等等,大大增加了編碼的復雜度。
因此,需要一種更簡單高效的android應用中的數(shù)據(jù)庫的開發(fā)方法。
技術實現(xiàn)要素:
本發(fā)明提供一種克服上述問題或者至少部分地解決上述問題的基于orm框架的數(shù)據(jù)庫開發(fā)方法及裝置。
根據(jù)本發(fā)明的一個方面,提供一種基于orm框架的數(shù)據(jù)庫開發(fā)方法,包括:
s1,基于orm框架的模板文件格式,在指定程序工程中添加第一類模板文件和至少一個第二類模板文件;
所述第一類模板文件,用于創(chuàng)建數(shù)據(jù)庫,并生成所有數(shù)據(jù)庫表;所述第二類模板文件,用于對單個數(shù)據(jù)庫表進行初始化和刪除操作;
s2,在應用程序工程中引用所述指定程序工程,利用所述orm框架自動生成數(shù)據(jù)庫程序代碼;
s3,利用所述數(shù)據(jù)庫程序代碼中的數(shù)據(jù)庫對象創(chuàng)建數(shù)據(jù)庫,生成所有數(shù)據(jù)庫表并執(zhí)行每個數(shù)據(jù)庫表的初始化操作。
進一步,所述s1還包括:
在所述指定程序工程中添加第三類模板文件和至少一個第四類模板文件;
所述第三類模板文件,用于提供對數(shù)據(jù)庫表中的記錄進行增加、刪除、修改和查詢操作的模板;
所述第四類模板文件,用于以所述第三類模板文件為基模板,對單個數(shù)據(jù)庫表中的記錄進行增加、刪除、修改和查詢操作。
進一步,所述s1還包括:
基于orm框架的模板文件dao.ftl,在所述dao.ftl中添加屬性數(shù)組,所述屬性數(shù)組用于關聯(lián)數(shù)據(jù)庫表的任意字段對應的屬性;
基于orm框架的模板文件entity.ftl,在所述entity.ftl中添加屬性設置方法,所述屬性設置方法用于設置數(shù)據(jù)庫表的字段的屬性。
進一步,所述s2進一步包括:
s2.1,在所述應用程序工程中引用所述指定程序工程,基于所述第一類模板文件創(chuàng)建并初始化根模型類的對象;
s2.2,基于每個所述第二類模板文件的數(shù)據(jù)庫表的字段,一一對應構(gòu)造數(shù)據(jù)庫表實體對象;
s2.3,將所述數(shù)據(jù)庫表實體對象添加到所述根模型類的對象;
s2.4,利用所述orm框架為所述根模型類的對象自動生成數(shù)據(jù)庫程序代碼。
進一步,所述s2.3還包括:
基于所述數(shù)據(jù)庫表實體對象,利用所述orm框架的公共接口建立不同的數(shù)據(jù)庫表之間的關聯(lián)。
進一步,所述s3還包括:
對于任意數(shù)據(jù)庫表,基于所述數(shù)據(jù)庫表實體對象的插入功能向所述數(shù)據(jù)庫表插入一條新記錄,基于所述數(shù)據(jù)庫表實體對象的刪除功能刪除所述數(shù)據(jù)庫表的一條記錄,所述數(shù)據(jù)庫表實體對象的更新功能向更新所述數(shù)據(jù)庫表中原有的記錄。
進一步,所述s3還包括:
利用數(shù)據(jù)庫查詢生成器querybuuilder構(gòu)造查詢對象,用于對任意數(shù)據(jù)庫表進行查詢。
根據(jù)本發(fā)明的一個方面,還提供一種基于orm框架的數(shù)據(jù)庫開發(fā)裝置,包括:
模板添加模塊,用于基于orm框架的模板文件格式,在指定程序工程中添加第一類模板文件和至少一個第二類模板文件;所述第一類模板文件,用于創(chuàng)建數(shù)據(jù)庫,并生成所有數(shù)據(jù)庫表;所述第二類模板文件,用于對單個數(shù)據(jù)庫表進行初始化和刪除操作;
自動生成模塊,用于在應用程序工程中引用所述指定程序工程,利用所述orm框架自動生成數(shù)據(jù)庫程序代碼;以及
數(shù)據(jù)庫生成模塊,用于利用所述數(shù)據(jù)庫程序代碼中的數(shù)據(jù)庫對象創(chuàng)建數(shù)據(jù)庫,生成所有數(shù)據(jù)庫表并執(zhí)行每個數(shù)據(jù)庫表的初始化操作。
根據(jù)本發(fā)明的一個方面,還提供一種基于orm框架的數(shù)據(jù)庫開發(fā)設備,其特征在于,包括:
至少一個處理器;以及
與所述處理器通信連接的至少一個存儲器,其中:
所述存儲器存儲有可被所述處理器執(zhí)行的程序指令,所述處理器調(diào)用所述程序指令能夠執(zhí)行本發(fā)明所述一種基于orm框架的數(shù)據(jù)庫開發(fā)方法。
根據(jù)本發(fā)明的一個方面,還提供一種非暫態(tài)計算機可讀存儲介質(zhì),所述非暫態(tài)計算機可讀存儲介質(zhì)存儲計算機指令,所述計算機指令使所述計算機執(zhí)行本發(fā)明所述一種基于orm框架的數(shù)據(jù)庫開發(fā)方法。
本發(fā)明提出本發(fā)明所述一種基于orm框架的數(shù)據(jù)庫開發(fā)方法及裝置,在orm框架的基礎上,根據(jù)需要新增了數(shù)據(jù)庫模板文件及擴展了原orm框架的模板文件,利用orm框架自動生成數(shù)據(jù)庫程序代碼;利用自動生成數(shù)據(jù)庫程序代碼可以快速實現(xiàn)數(shù)據(jù)庫的開發(fā),可以節(jié)約開發(fā)人員的工作量,大大提高了開發(fā)效率。
附圖說明
圖1為本發(fā)明實施例一種基于orm框架的數(shù)據(jù)庫開發(fā)方法流程示意圖;
圖2為本發(fā)明實施例orm框架自動生成代碼流程示意圖;
圖3為本發(fā)明實施例一種基于orm框架的數(shù)據(jù)庫開發(fā)設備的結(jié)構(gòu)框圖。
具體實施方式
下面結(jié)合附圖和實施例,對本發(fā)明的具體實施方式作進一步詳細描述。以下實施例用于說明本發(fā)明,但不用來限制本發(fā)明的范圍。
對象-關系映射(object/relationmapping,簡稱orm),是隨著面向?qū)ο蟮能浖_發(fā)方法發(fā)展而產(chǎn)生的。面向?qū)ο蟮拈_發(fā)方法是當今企業(yè)級應用開發(fā)環(huán)境中的主流開發(fā)方法,關系數(shù)據(jù)庫是企業(yè)級應用環(huán)境中永久存放數(shù)據(jù)的主流數(shù)據(jù)存儲系統(tǒng)。對象和關系數(shù)據(jù)是業(yè)務實體的兩種表現(xiàn)形式,業(yè)務實體在內(nèi)存中表現(xiàn)為對象,在數(shù)據(jù)庫中表現(xiàn)為關系數(shù)據(jù)。內(nèi)存中的對象之間存在關聯(lián)和繼承關系,而在數(shù)據(jù)庫中,關系數(shù)據(jù)無法直接表達多對多關聯(lián)和繼承關系。因此,對象-關系映射(orm)系統(tǒng)一般以中間件的形式存在,主要實現(xiàn)程序?qū)ο蟮疥P系數(shù)據(jù)庫數(shù)據(jù)的映射。
orm方法論基于三個核心原則:
簡單性:以最基本的形式建模數(shù)據(jù)。
傳達性:數(shù)據(jù)庫結(jié)構(gòu)被任何人都能理解的語言文檔化。
精確性:基于數(shù)據(jù)模型創(chuàng)建正確標準化了的結(jié)構(gòu)。
面向?qū)ο笫菑能浖こ袒驹瓌t(如耦合、聚合、封裝)的基礎上發(fā)展起來的,而關系數(shù)據(jù)庫則是從數(shù)學理論發(fā)展而來的,兩套理論存在顯著的區(qū)別。為了解決這個不匹配的現(xiàn)象,對象關系映射技術應運而生。o/r中字母o起源于“對象”(object),而r則來自于“關系”(relational)。幾乎所有的程序里面,都存在對象和關系數(shù)據(jù)庫。在業(yè)務邏輯層和用戶界面層中,我們是面向?qū)ο蟮?。當對象信息發(fā)生變化的時候,我們需要把對象的信息保存在關系數(shù)據(jù)庫中。
如果在android系統(tǒng)中能使用類似對象-關系映射的方法構(gòu)建sqlite數(shù)據(jù),將會大大簡化android應用開發(fā)中對于sqlite數(shù)據(jù)庫的操作,而讓開發(fā)人員只需要關注功能本身。因此本發(fā)明提供一種android系統(tǒng)的基于orm框架的數(shù)據(jù)庫開發(fā)方法及裝置。本發(fā)明將通過以下實施例來描述orm框架之greendao在android上的應用和擴展,其能根據(jù)需要擴展自動生成代碼模板,自動生成sqlite數(shù)據(jù)庫增刪改查代碼,用java對象來代表數(shù)據(jù)庫中的一行,讓數(shù)據(jù)庫操作更加方便。
如圖1所示,一種基于orm框架的數(shù)據(jù)庫開發(fā)方法,包括:
s1,基于orm框架的模板文件格式,在指定程序工程中添加第一類模板文件和至少一個第二類模板文件;
所述第一類模板文件,用于創(chuàng)建數(shù)據(jù)庫,并生成所有數(shù)據(jù)庫表;所述第二類模板文件,用于對單個數(shù)據(jù)庫表進行初始化和刪除操作;
s2,在應用程序工程中引用所述指定程序工程,利用所述orm框架自動生成數(shù)據(jù)庫程序代碼;
s3,利用所述數(shù)據(jù)庫程序代碼中的數(shù)據(jù)庫對象創(chuàng)建數(shù)據(jù)庫,生成所有數(shù)據(jù)庫表并執(zhí)行每個數(shù)據(jù)庫表的初始化操作。
本實施例在orm框架的基礎上,根據(jù)需要新增了數(shù)據(jù)庫模板文件及擴展了原orm框架的模板文件,利用orm框架自動生成數(shù)據(jù)庫程序代碼;利用自動生成數(shù)據(jù)庫程序代碼可以快速實現(xiàn)數(shù)據(jù)庫的開發(fā),可以節(jié)約開發(fā)人員的工作量,大大提高了開發(fā)效率。
其中,所述第一類模板文件整體上創(chuàng)建數(shù)據(jù)庫;所述第二類模板文件是對單個數(shù)據(jù)庫的初始化及刪除操作,一個數(shù)據(jù)庫表對應一個所述第二類模板文件,多個數(shù)據(jù)庫表對應多個所述第二類模板文件。
所述指定程序工程為包含orm框架的模板文件的一個程序工程。
如圖2所示為本實施例android系統(tǒng)的基于orm框架自動生成代碼流程,包括擴展模板、java中自動生成代碼、android中自動生成代碼、編譯orm框架greendao核心庫和使用greendao核心庫進行應用等。在擴展模板步驟中,本實施例具體新增了第一類模板文件和第二類模板文件,分別用于數(shù)據(jù)庫的創(chuàng)建和初始化;通過新增模板,大大簡化了android應用開發(fā)中對于sqlite數(shù)據(jù)庫的操作,而讓開發(fā)人員只需要關注功能本身。
在具體實施時,所述指定程序工程為daogenerator,新增的所述第二類模板文件包括entity.ftl和entitydao.ftl,所述entity.ftl和entitydao.ftl屬于所述指定程序工程為daogenerator的文件。
所述entity.ftl文件一個示例如下:
所述entitydao.ftl文件一個示例如下:
在一個實施例中,所述s1還包括:
在所述指定程序工程中添加第三類模板文件和至少一個第四類模板文件;
所述第三類模板文件,用于提供對數(shù)據(jù)庫表中的記錄進行增加、刪除、修改和查詢操作的模板;
所述第四類模板文件,用于以所述第三類模板文件為基模板,對單個數(shù)據(jù)庫表中的記錄進行增加、刪除、修改和查詢操作。
本實施例中,所述s1在新增數(shù)據(jù)庫創(chuàng)建和初始化模板文件的基礎上,還進一步添加了對數(shù)據(jù)庫表進行增加、刪除、修改和查詢操作的模板;其中所述第三類模板文件為基模板文件,所述第四類模板文件是在基模板文件上派生的單個數(shù)據(jù)庫表的增加、刪除、修改和查詢操作的模板。一個數(shù)據(jù)庫表對應一個所述第三類模板文件,多個數(shù)據(jù)庫表對應多個所述第三類模板文件。
在一個實施例中,所述s1還包括:
基于orm框架的模板文件dao.ftl,在所述dao.ftl中添加屬性數(shù)組,所述屬性數(shù)組用于關聯(lián)數(shù)據(jù)庫表的任意字段對應的屬性;
基于orm框架的模板文件entity.ftl,在所述entity.ftl中添加屬性設置方法,所述屬性設置方法用于設置數(shù)據(jù)庫表的字段的屬性。
本實施例中,所述s1在上述實施例的基礎,進一步對orm框架自帶的模板文件dao.ftl和entity.ftl進行擴展;增加屬性數(shù)組,在所述屬性數(shù)組中可以列出一個數(shù)據(jù)庫表的所有字段對應的屬性;通過在entity.ftl中添加屬性設置方法,用于設置數(shù)據(jù)庫表的字段的屬性,這樣可以方便的進行數(shù)據(jù)庫表的字段屬性的設置。
在具體實施時,對所述dao.ftl的擴展的一個示例如下:
在具體實施時,對所述entity.ftl的擴展的一個示例如下:
在一個實施例中,所述s2進一步包括:
s2.1,在所述應用程序工程中引用所述指定程序工程,基于所述第一類模板文件創(chuàng)建并初始化根模型類的對象;
s2.2,基于每個所述第二類模板文件的數(shù)據(jù)庫表的字段,一一對應構(gòu)造數(shù)據(jù)庫表實體對象;
s2.3,將所述數(shù)據(jù)庫表實體對象添加到所述根模型類的對象;
s2.4,利用所述orm框架為所述根模型類的對象自動生成數(shù)據(jù)庫程序代碼。
在一個實施例中,所述s2.3還包括:
基于所述數(shù)據(jù)庫表實體對象,利用所述orm框架的公共接口建立不同的數(shù)據(jù)庫表之間的關聯(lián)。
在一個具體實現(xiàn)中,通過greendao的daoexamplegenerator工程為應用程序自動生成代碼,具體步驟包括:
在應用工程daoexamplegenerator中引用前述實施例的關鍵庫daogenerator。daogenerator庫的作用就是提供一套自動生成代碼的接口函數(shù)。
創(chuàng)建并初始化一個schema對象。schema對象就是一個根模型類,用戶可以添加若干個實體對象entity到這個根模型類,所述實體對象entity是指數(shù)據(jù)庫表實體對象。
根據(jù)每個數(shù)據(jù)庫表的字段,構(gòu)造所述數(shù)據(jù)庫表的實體對象entity。
還可以創(chuàng)建不同表之間的一對多的關聯(lián)關系。
把每個數(shù)據(jù)庫表的實體對象添加到schema對象。
調(diào)用daogenerator.generateall()函數(shù)就可以為這個schema對象自動生成代碼。
一個具體的代碼示例如下:
接下來,編譯greendao的核心庫daocore,得到daocore.jar。daocore不需要做改動,直接編譯后即可使用。有了以上自動生成的代碼,在android應用代碼中,使用sqlite就變得相當容易了。
下面以一個名為idrfaceguard的應用工程為例介紹如何使用greendao。
創(chuàng)建數(shù)據(jù)庫:dbman.init(mapp,mdb_name,mdb_key)。
查詢表:構(gòu)造一個querybuilder<tb_face_info>face_infoquerbuilder,直接調(diào)face_infoquerbuilder.list(),返回的是tb_face_info列表list<tb_face_info>。
插入一條記錄:準備好tb_face_info對象face_info,再調(diào)用face_infoentitydao.insertentity(face_info)即可。
在一個實施例中,所述s3還包括:
對于任意數(shù)據(jù)庫表,基于所述數(shù)據(jù)庫表實體對象的插入功能向所述數(shù)據(jù)庫表插入一條新記錄,基于所述數(shù)據(jù)庫表實體對象的刪除功能刪除所述數(shù)據(jù)庫表的一條記錄,所述數(shù)據(jù)庫表實體對象的更新功能向更新所述數(shù)據(jù)庫表中原有的記錄。
在一個實施例中,所述s3還包括:
利用數(shù)據(jù)庫查詢生成器querybuuilder構(gòu)造查詢對象,用于對任意數(shù)據(jù)庫表進行查詢。
本實施例中,以idrfaceguard為例介紹如何使用greendao。有了以上自動生成的代碼,在android應用代碼中,使用sqlite就變得相當容易了,主要解決如下幾個問題:
怎么創(chuàng)建數(shù)據(jù)庫?使用自動生成的第一類模板文件的根模型類對象創(chuàng)建數(shù)據(jù)庫。
怎么查詢記錄?構(gòu)造一個querybuilder對象來實現(xiàn)查詢數(shù)據(jù)庫的表的記錄。
怎么插入一條新記錄?調(diào)用函數(shù)xxxentitydao.insertentity()就可以插入一條記錄。其中xxx表示數(shù)據(jù)庫的表名。
怎么刪除一條記錄?調(diào)用函數(shù)xxxentitydao.deleteentity()就可以插入一條記錄。其中xxx表示數(shù)據(jù)庫的表名。
怎么更新一條記錄?調(diào)用函數(shù)xxx.update()就可以更新一條記錄。其中xxx表示一個數(shù)據(jù)庫表對應的對象。
本發(fā)明還提供一種基于orm框架的數(shù)據(jù)庫開發(fā)裝置,包括:
模板添加模塊,用于基于orm框架的模板文件格式,在指定程序工程中添加第一類模板文件和至少一個第二類模板文件;所述第一類模板文件,用于創(chuàng)建數(shù)據(jù)庫,并生成所有數(shù)據(jù)庫表;所述第二類模板文件,用于對單個數(shù)據(jù)庫表進行初始化和刪除操作;
自動生成模塊,用于在應用程序工程中引用所述指定程序工程,利用所述orm框架自動生成數(shù)據(jù)庫程序代碼;以及
數(shù)據(jù)庫生成模塊,用于利用所述數(shù)據(jù)庫程序代碼中的數(shù)據(jù)庫對象創(chuàng)建數(shù)據(jù)庫,生成所有數(shù)據(jù)庫表并執(zhí)行每個數(shù)據(jù)庫表的初始化操作。
本發(fā)明提出本發(fā)明所述一種基于orm框架的數(shù)據(jù)庫開發(fā)方法及裝置,在orm框架的基礎上,根據(jù)需要新增了數(shù)據(jù)庫模板文件及擴展了原orm框架的模板文件,利用orm框架自動生成數(shù)據(jù)庫程序代碼;利用自動生成數(shù)據(jù)庫程序代碼可以快速實現(xiàn)數(shù)據(jù)庫的開發(fā),可以節(jié)約開發(fā)人員的工作量,大大提高了開發(fā)效率。具體有益效果包括:
1.讓程序員不再關注數(shù)據(jù)庫細節(jié),專心在業(yè)務邏輯上,程序員可以不懂數(shù)據(jù)庫就可以開發(fā)系統(tǒng)。
2.讓數(shù)據(jù)庫遷移變的非常方便,如果系統(tǒng)需要更改使用的數(shù)據(jù)庫,直接改配制就好了,不要再管不同數(shù)據(jù)庫之間的語法差異。
3.省時,可快速開發(fā),因為不需要自己寫復雜的sql語句,不需要封裝復雜的數(shù)據(jù)底層,這樣可以節(jié)省很多時間。
圖3示出了本發(fā)明實施例基于orm框架的數(shù)據(jù)庫開發(fā)設備的結(jié)構(gòu)框圖。
參照圖3,所述設備,包括:處理器(processor)601、存儲器(memory)602和總線603;
其中,
所述處理器601和存儲器602通過所述總線603完成相互間的通信;
所述處理器601用于調(diào)用所述存儲器602中的程序指令,以執(zhí)行上述各方法實施例所提供的方法,例如包括:基于orm框架的模板文件格式,在指定程序工程中添加第一類模板文件和第二類模板文件;所述第一類模板文件,用于創(chuàng)建數(shù)據(jù)庫,并生成所有數(shù)據(jù)庫表;所述第二類模板文件,用于對單個數(shù)據(jù)庫表進行初始化和刪除操作,包括至少一個第二類模板文件;在應用程序工程中引用所述指定程序工程,利用所述orm框架自動生成數(shù)據(jù)庫程序代碼;利用所述數(shù)據(jù)庫程序代碼中的數(shù)據(jù)庫對象創(chuàng)建數(shù)據(jù)庫,生成所有數(shù)據(jù)庫表并執(zhí)行每個數(shù)據(jù)庫表的初始化操作。
本發(fā)明另一實施例公開一種計算機程序產(chǎn)品,所述計算機程序產(chǎn)品包括存儲在非暫態(tài)計算機可讀存儲介質(zhì)上的計算機程序,所述計算機程序包括程序指令,當所述程序指令被計算機執(zhí)行時,計算機能夠執(zhí)行上述各方法實施例所提供的方法,例如包括:基于orm框架的模板文件格式,在指定程序工程中添加第一類模板文件和第二類模板文件;所述第一類模板文件,用于創(chuàng)建數(shù)據(jù)庫,并生成所有數(shù)據(jù)庫表;所述第二類模板文件,用于對單個數(shù)據(jù)庫表進行初始化和刪除操作,包括至少一個第二類模板文件;在應用程序工程中引用所述指定程序工程,利用所述orm框架自動生成數(shù)據(jù)庫程序代碼;利用所述數(shù)據(jù)庫程序代碼中的數(shù)據(jù)庫對象創(chuàng)建數(shù)據(jù)庫,生成所有數(shù)據(jù)庫表并執(zhí)行每個數(shù)據(jù)庫表的初始化操作。
本發(fā)明另一實施例提供一種非暫態(tài)計算機可讀存儲介質(zhì),所述非暫態(tài)計算機可讀存儲介質(zhì)存儲計算機指令,所述計算機指令使所述計算機執(zhí)行上述各方法實施例所提供的方法,例如包括:基于orm框架的模板文件格式,在指定程序工程中添加第一類模板文件和第二類模板文件;所述第一類模板文件,用于創(chuàng)建數(shù)據(jù)庫,并生成所有數(shù)據(jù)庫表;所述第二類模板文件,用于對單個數(shù)據(jù)庫表進行初始化和刪除操作,包括至少一個第二類模板文件;在應用程序工程中引用所述指定程序工程,利用所述orm框架自動生成數(shù)據(jù)庫程序代碼;利用所述數(shù)據(jù)庫程序代碼中的數(shù)據(jù)庫對象創(chuàng)建數(shù)據(jù)庫,生成所有數(shù)據(jù)庫表并執(zhí)行每個數(shù)據(jù)庫表的初始化操作。
本領域普通技術人員可以理解:實現(xiàn)上述方法實施例的全部或部分步驟可以通過程序指令相關的硬件來完成,前述的程序可以存儲于一計算機可讀取存儲介質(zhì)中,該程序在執(zhí)行時,執(zhí)行包括上述方法實施例的步驟;而前述的存儲介質(zhì)包括:rom、ram、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
以上所描述的基于orm框架的數(shù)據(jù)庫開發(fā)設備等實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本實施例方案的目的。本領域普通技術人員在不付出創(chuàng)造性的勞動的情況下,即可以理解并實施。
通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到各實施方式可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當然也可以通過硬件。基于這樣的理解,上述技術方案本質(zhì)上或者說對現(xiàn)有技術做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品可以存儲在計算機可讀存儲介質(zhì)中,如rom/ram、磁碟、光盤等,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網(wǎng)絡設備等)執(zhí)行各個實施例或者實施例的某些部分所述的方法。
最后,本申請的方法僅為較佳的實施方案,并非用于限定本發(fā)明的保護范圍。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。