最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaWeb如何實現(xiàn)統(tǒng)一查詢接口(jfinal)

 更新時間:2020年06月08日 09:34:30   作者:絕對密位  
這篇文章主要介紹了JavaWeb如何實現(xiàn)統(tǒng)一查詢接口(jfinal),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

我發(fā)現(xiàn)我所有有查詢的controller都要調(diào)用service層的兩個方法 getById和getByKey 參數(shù)大致一樣

寫的時候基本都是復制粘帖。。。 于是idea老提示大量重復代碼 好煩啊 于是就改進了一下

讓所有有關(guān)查詢的service實現(xiàn)一個QueryService的接口

接口定義倆方法

import com.jfinal.plugin.activerecord.Page;
public interface QueryService<T> {
  Page<T> getById(String id, String flag);
  Page<T> getByKey(int page, int pageSize, String value, String flag);
}

肯定要用泛型啊 不然強轉(zhuǎn)容易出錯 鬼知道我剛才調(diào)用的哪的這個方法

然后把service層的那些方法都統(tǒng)一一下參數(shù)

然后在一個公共控制器里寫個靜態(tài)方法 那個注解應該可以不用寫 反正控制器不認靜態(tài)方法

@NotAction
static <T> Page<T> query(QueryService<T> service,Controller controller, String key, String value, String flag, int page, int pageSize) {
  value = value == null ? "" : value;
  Page<T> list;
  if ("id".equals(key)) {
    list = service.getById(value, flag);
  } else if ("key".equals(key)) {
    list = service.getByKey(page, pageSize, value, flag);
  } else {
    list = null;
  }
  if (list == null) {
    controller.renderJson("result", "{'code':'203','info':'unknown key'}");
  } else {
    controller.renderJson("result", "{'code':'103','info':" + Json.getJson().toJson(list) + "}");
  }
  return list;
}

用的時候在控制器里第一個寫調(diào)用的service對象,這個service一定要實現(xiàn)QueryService接口,第二個就傳this,因為查詢結(jié)束要傳給前臺的,我也是懶,都寫這里了

如果render不寫這里的話就把第二個參數(shù)刪掉,把12-16行的業(yè)務代碼扔回控制器的方法里寫

最后還返回list 我也不知道我想干啥 等我想開了就把返回值刪掉算了

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 簡單的用java實現(xiàn)讀/寫文本文件的示例

    簡單的用java實現(xiàn)讀/寫文本文件的示例

    同時也展示了如果從輸入流中讀出來內(nèi)容寫入輸出流中(僅限文本流) 三個例子可以獨立存在,所以根據(jù)需要只看其中一個就行了。
    2008-07-07
  • Spring框架實現(xiàn)AOP的兩種方式詳解

    Spring框架實現(xiàn)AOP的兩種方式詳解

    這篇文章主要為大家詳細介紹了Spring框架實現(xiàn)AOP的兩種方式,文中的示例代碼講解詳細,對我們學習有一定的借鑒價值,需要的可以參考一下
    2022-09-09
  • JVM之方法返回地址詳解

    JVM之方法返回地址詳解

    這篇文章主要介紹了JVM之方法返回地址詳解,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • idea中的update?project按鈕使用

    idea中的update?project按鈕使用

    這篇文章主要介紹了idea中的update?project按鈕使用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • 一文詳解如何使用線程池來優(yōu)化我們的應用程序

    一文詳解如何使用線程池來優(yōu)化我們的應用程序

    線程池是一種工具,但并不是適用于所有場景。在使用線程池時,我們需要根據(jù)應用程序的性質(zhì)、計算資源的可用性和應用程序的需求進行適當?shù)呐渲?。本文主要介紹了如何使用線程池來優(yōu)化我們的應用程序,需要的可以參考一下
    2023-04-04
  • SpringBoot3整合Nacos?V2.3.2的詳細過程

    SpringBoot3整合Nacos?V2.3.2的詳細過程

    本文介紹了如何在?Spring?Boot?3.2.x?項目中整合?Nacos?2.3.2,包括依賴配置、Nacos?服務發(fā)現(xiàn)與動態(tài)配置的配置方法,通過整合?Nacos,Spring?Boot?應用可以實現(xiàn)高效的服務發(fā)現(xiàn)、動態(tài)配置管理以及分布式系統(tǒng)中的靈活擴展,感興趣的朋友跟隨小編一起看看吧
    2024-11-11
  • Java中實現(xiàn)日期時間字符串轉(zhuǎn)換為Date對象的方法

    Java中實現(xiàn)日期時間字符串轉(zhuǎn)換為Date對象的方法

    在 Java 編程中,日期時間的處理是一項常見且重要的任務,無論是數(shù)據(jù)存儲、日志記錄還是業(yè)務邏輯處理,準確地表示和操作日期時間都是不可或缺的,本文給大家介紹了Java中實現(xiàn)日期時間字符串轉(zhuǎn)換為Date對象的方法,需要的朋友可以參考下
    2025-01-01
  • mybatis plus自動生成代碼tinyint(1)自動轉(zhuǎn)換為Boolean的問題及解決

    mybatis plus自動生成代碼tinyint(1)自動轉(zhuǎn)換為Boolean的問題及解決

    這篇文章主要介紹了mybatis plus自動生成代碼tinyint(1)自動轉(zhuǎn)換為Boolean的問題及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • 關(guān)于JAVA8的 Stream學習

    關(guān)于JAVA8的 Stream學習

    這篇文章主要介紹了JAVA8 Stream學習方法的相關(guān)資料,需要的朋友可以參考下面文章內(nèi)容
    2021-09-09
  • Springboot?jpa使用sum()函數(shù)返回結(jié)果如何被接收

    Springboot?jpa使用sum()函數(shù)返回結(jié)果如何被接收

    這篇文章主要介紹了Springboot?jpa使用sum()函數(shù)返回結(jié)果如何接收,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-02-02

最新評論

栾川县| 高安市| 河北区| 麻江县| 盐边县| 合阳县| 中宁县| 滦南县| 迁安市| 高雄县| 庐江县| 亚东县| 小金县| 镇远县| 舟山市| 石嘴山市| 红桥区| 双鸭山市| 井陉县| 班戈县| 阜城县| 高要市| 和田县| 张北县| 惠安县| 渑池县| 亚东县| 邵阳县| 胶州市| 龙山县| 淮北市| 聊城市| 尤溪县| 松江区| 逊克县| 嵩明县| 潼关县| 城固县| 雅江县| 永靖县| 台南县|