Java工具庫 Bean-Query 功能改進版 1.1.3 已發布

jopen 8年前發布 | 10K 次閱讀 Bean-Query

Bean Query 復用Apache Commons BeanUtils, Apache Commons CollectionsJava Hamcrest
來簡化對Bean(集合)的排序,過濾和轉換。

文檔

快速入門

BeanQuery的使用非常簡單也很直接,例子代碼如下:

//靜態導入BeanQuery
import static cn.jimmyshi.beanquery.BeanQuery.*;


//使用 select、from、where、orderBy、desc和asc來組裝一個Query,然后執行execute方法來獲得結果。
List<Map<String, Object>> result = select("price,name,mainAuthor.name as mainAuthorName")
    .from(bookCollection)
    .where(
        //選擇name屬性值是"Book2"或者以“Book1”開頭
        anyOf(
            value("name", startsWith("Book1")),
            value("name", is("Book2"))
        ),
        //并且prince的值位于區間(53,65)
        allOf(
            value("price", greaterThan(53d)),
            value("price",lessThan(65d))
        )
    )
    .orderBy("name").desc()//根據"name"屬性按照倒序對結果進行排列
    .execute();

執行完以上代碼后,result列表中的每個Map都是java.util.LinkedHashMap實例,每個Map的都由下面的這三個Entry組成:

  • key=price, value=book.getPrice()
  • key=name, value=book.getName()
  • key=mainAuthorName, value=book.getMainAuthor().getName()


Bean-Query 功能改進版(1.1.3)已發布,修改內容:

  • 添加BeanQuery.nested()方法,調用該方法后,具有同樣前綴的屬性或者別名會被放到一個Map中返回,詳情請看Allow format result into a map

  • 把BeanQuery.selectBean方法標為@deprecated,并添加同一樣功能的方法,命名為BeanQuery.select

Bean Query 復用Apache Commons BeanUtils, Apache Commons CollectionsJava Hamcrest
來簡化對Bean(集合)的排序,過濾和轉換。

文檔

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