JFinal 2.2 發布,用 JFinal 開發,就這么定了!

jopen 8年前發布 | 15K 次閱讀

JFinal 2.2 主要針對于 2.1 版本中反饋集中的幾個問題進行改進,另外也讓jfinal 2.1非最終版用戶升為統一的版本。

1:改進paginate

   在2.1 版中使用了正則對paginate方法匹配 select 與 group by 元素,為了性能采用粗放的正則時,則無法實現復雜sql的精確匹配,而為了精確匹配使用細致冗長的正則時,則性能急劇下降,簡單sql相對于復雜sql甚至有上千倍的性能差距,權衡之下2.2 版棄用對select、group by的正則匹配,拆分sql為select及sqlExceptSelect,事實證明此法簡單、粗爆、高效、可靠。此外,對 paginate 方法添加了 boolean isGroupBySql參數重載方法,用于強制指定sql語句是否為grup by sql。

2:改進ModelRecordElResolver

  添加setResolveBeanAsModel(boolean) ,設置為true時,用于指定在JSP/jstl中,對待合體后的Bean仍然采用老版本對待Model的方式輸出數據,也即使用 Model.get(String attr)而非Bean的getter方法輸出數據,有利于在關聯查詢時輸出無 getter 方法的字段值。建議mysql數據表中的字段采用駝峰命名,表名采用下劃線方式命名便于win與linux間移植。

注意:這里所指的 Bean 僅僅指用 BaseModelGenerator 生成的實現了 IBean接口后的Model類。

使用方法,在 YourJFinalConfig 中創建方法,并調用本方法:

public void afterJFinalStart() {
  ModelRecordElResolver.setResolveBeanAsModel(true);
}

當老版本項目升級到 jfinal 2.2 并且使用了生成器生成Bean,但又想保持原來的jsp輸出方式,可將該變量設置為true。

3:maven升級坐標,已推送至中心庫,可立即升級

<dependency>
  <groupId>com.jfinal</groupId>
  <artifactId>jfinal</artifactId>
  <version>2.2</version>
</dependency>

強烈建議 jfinal 2.1 升級至 2.2

change log:

1:改進paginate,sql參數為 select與sqlExceptSelect,簡單、粗爆、高效、可靠。
2:添加boolean isGroupBy 的pagiante重載方法,用于強制指定sql語句是否為grup by sql
3:改進ModelRecordElResolver,添加setResolveBeanAsModel(),使用生成器生成的實現了IBean接口的 Class 將被當成 Model來處理
4:改進Controller中cookie操作,默認path值設置為"/",避免某些瀏覽器不支持無默認path
5:Jackson、JFinalJson 中 private 可見性改為protected,便于擴展出個性化 json 轉換實現
6:改進CaptchaRender,添加CaptchaRender.setCaptchaName()方法便于定義captchName,cookie的path設置為 "/"
7:改進Model、Db 的 paginate 方法
8:FileRender.encodeFileName() 改為 protected 便于擴展,字符集改為使用 getEncoding() 來獲取


ONE MORE THING:狂掃下方JFinal官方微信二維碼,隨時關注JFinal CMS開發動態

JFinal 2.2 發布,用 JFinal 開發,就這么定了!

2016 用JFinal開發,就這么定了!!!

來自: http://www.oschina.net//news/70001/jfinal-2-2

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!