程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP基礎知識 >> LLBL Gen + MySQL 快速開發圖解教程

LLBL Gen + MySQL 快速開發圖解教程

編輯:PHP基礎知識
 

MySQL 安裝配置

安裝MySQL, 使用查詢分析器連接數據庫服務器

clip_image001

創建數據庫CTU, 並且創建新表Agent

clip_image003

給數據表Agent添加三筆數據,Jack,Tony,Charles

clip_image005

數據庫設計的任務到此為止,記得給每個表添加主鍵。這裡設置的主鍵是Name

 

LLBL Gen 設計實體模型

啟動LLBL Gen 3.1, 創建新的項目,注意選擇Target為LLBL Gen框架

clip_image007

在Category Explorer窗口中,右鍵,添加新連接

clip_image009

請在context菜單中選擇Reverse-engineer Tables to Entity Definitions

clip_image010

這些表就會自動mapping到實體集合中

clip_image012

從圖中可以看到,已經發現了Agent表

如果需要進一步的編輯屬性與字段的映射關系,請用Edit 菜單,打開窗體

clip_image014

在這裡,可以設置關系,設置映射的名稱。

F7,可以開始生成代碼

clip_image016

默認情況下,會生成2個項目文件

clip_image017

從名稱中可以看出,一個是數據庫無關的,另一個是做數據訪問的。以此的原理是我們在生成數據庫時,選擇Adapter模式,而不是SelfServicing模式.

 

啟動程序

在Visual Studio中打開生成的代碼,並且添加測試項目(Console)

解決方案浏覽器中現在有三個項目Main是我們用來測試數據訪問的

clip_image018

再來看一下Main方法,只有簡單的幾行程序,也就是一個最簡單的測試程序

clip_image020

它會生成SQL語句 SELECT Name , Postion , Description FROM agent

 

結論 Conclusion

1. ORM的好處是跨數據庫平台,獨立於數據庫廠商。以MySQL為例子,是為證明,用SQL Server寫的項目,可以很輕易的就轉移到MySQL數據庫平台。

近期會放出LLBL Gen + Oracle的快速開發手冊。

 

2. 到目前為止,SQL Server有幾個穩定好用的版本:SQL Server 2000,SQL Server 2005,SQL Server 2008,SQL Server 2008 R2, 還有SQL Express系列,如果要考慮數據的遷移,把數據從一個數據庫搬到另一個數據庫,請把這些數據庫看成不同的產品系列。在這幾個產品系列中遷移數據實在是痛苦,比如SQL Server 2005的數據庫一旦被SQL Server 2008附加過,就再也無法在SQL Server 2005 Attach。2000和2005之間也會遇到這種尴尬。

clip_image022

考慮通用性,推薦用SQL Server 2005。

 

3. 正向和反向思維
學習NHibernate時,我們就在不停的研究把映射文件(數據庫字段和.NET屬性)存放在哪裡。那時,專家的意見是放到xml文件中,放到C#文件中不容易維護。

後來接觸到商業的NHibernate設計器,它卻把映射文件寫到C#文件。因為這些映射全部是可視化生成的,不需要編輯。同樣道理,LLBL Gen把映射文件也放到C#代碼,同時也是自動生成的。

我知道NHibernate的映射文件的設置的復雜性,就已經令眾多的NHibernate愛好者望而卻步,無比痛苦,談不上快速靈活的開發。

扯遠一點,談到經濟,聽說國際上唱衰中國樓市,大肆宣言房價必降,還有諸多的專家也如此認為,可我還聽說,國際熱錢還在大肆進軍中國樓市,中國的城市化進程不中斷,房價不太可能會降。

我要表達的意思是,兩種思維,一正一反,我們要習慣。

我常說EPN框架可以快速開發,你可能要意識到這句話不全對,簡單的快速開發,暗藏了巨大的復雜性在裡面。快速開發有復雜性藏在幕後,出了問題,google,baidu都不太可能幫忙到你;不快不慢的開發,簡單容易理解,有bug或是出了問題在網上一找就找到了,可是又做不出很多應用,代碼重復,經不起需求變化。

 

4. LLBL Gen 是商業的ORM工具,請不要向我索取license。
    當沒有人可以幫忙到你的時候,可以向google,baidu求助,Just take a try.

 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved