天天看點

jfinal架構教程-學習筆記(二)

上一節介紹了jfinal架構的簡單搭建,這節通過一個小例子了解jfinal的結構和特點

先上圖

jfinal架構教程-學習筆記(二)
jfinal架構教程-學習筆記(二)
jfinal架構教程-學習筆記(二)

1、建資料庫(我用的是oracle資料庫,其他的相對也差不多)

jfinal架構教程-學習筆記(二)
jfinal架構教程-學習筆記(二)

建立項目,我用的myeclipse,先把jar包導入

jfinal架構教程-學習筆記(二)

2、實體類

Classes.java

jfinal架構教程-學習筆記(二)
jfinal架構教程-學習筆記(二)

Student.java

jfinal架構教程-學習筆記(二)
jfinal架構教程-學習筆記(二)

什麼這是實體類?沒錯!!~ ActiveRecord 是 jfinal 最核心的組成部分之一,通過 ActiveRecord 來操作資料庫,将極大地減少代碼量,極大地提升開發效率,配置在後面,我這裡用的是Model,Model 是 ActiveRecord 中最重要的元件之一,它充當 MVC 模式中的 Model部分。

以上代碼中的 User 通過繼承 Model,便立即擁有的衆多友善的操作資料庫的方法。在 User 中聲明的 dao 靜态對象是為了友善查詢操作而定義的,該對象并不是必須的。 基于ActiveRecord 的 Model 無需定義屬性, 無需定義 getter、 setter方法,無需 XML 配置,無需 Annotation 配置,極大降低了代碼量。Model常見方法見官方API。

JFinal還有 獨創 Db + Record 模式,Db 類及其配套的 Record 類, 提供了在 Model 類之外更為豐富的資料庫操作功能。使用 Db 與 Record 類時,無需對資料庫表進行映射,Record 相當于一個通用的 Model。Db常見方法見官方API。

3、DemoConfig.java

jfinal架構教程-學習筆記(二)
jfinal架構教程-學習筆記(二)

我這裡是oracle資料庫的配置,oracle有些特别的地方,如表列名會自動轉成大寫,配置個免大小寫的工廠,友善開發等。這裡要注意url,驅動,方言,在給個mysql資料庫的配置對比下

jfinal架構教程-學習筆記(二)
jfinal架構教程-學習筆記(二)

4、StudentController.java

jfinal架構教程-學習筆記(二)
jfinal架構教程-學習筆記(二)

擷取studentid那裡有多種方法,這個要和前台傳參寫法一緻,Controller 提供了 getPara 系列方法,官網api裡很詳細

jfinal用的是原生态sql語句,簡單,友善,setAttr("studentList", list);把結果集放到request範圍裡,

jfinal也有直接擷取表單裡分裝成對象的方法 getModel(Student.class);就是,和struts2一樣,表單name對應上就可以了,非常友善

添加那裡對于oracle用序列維護studentid      student.set("studentid", "mysequence.nextval").save(); jfinal有多種傳回方式,也可以傳回json資料,render 系列方法,官網api裡很詳細

5、interceptor和validator(可以不加)

StudentInterceptor.java

jfinal架構教程-學習筆記(二)
jfinal架構教程-學習筆記(二)

StudentValidator.java

jfinal架構教程-學習筆記(二)
jfinal架構教程-學習筆記(二)

6、頁面

我這裡用的是FreeMarker模闆引擎

index.html

jfinal架構教程-學習筆記(二)
jfinal架構教程-學習筆記(二)

index2.html

jfinal架構教程-學習筆記(二)
jfinal架構教程-學習筆記(二)

add.html

jfinal架構教程-學習筆記(二)
jfinal架構教程-學習筆記(二)

如何聯系我:【萬裡虎】www.bravetiger.cn

【QQ】3396726884 (咨詢問題100元起,幫助解決問題500元起)

【部落格】http://www.cnblogs.com/kenshinobiy/