紫風(fēng)亂寫(xiě)

          除了他眼前的屏幕,這個(gè)人什么也沒(méi)看見(jiàn)。
          被周?chē)碾娔X簇?fù)碇恢浪鶆?chuàng)造的現(xiàn)實(shí),但又意識(shí)到那是虛幻。
          他已經(jīng)超越了技術(shù)。也超越了機(jī)器。
          posts - 62, comments - 93, trackbacks - 0, articles - 0
            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理
          剛開(kāi)源了一個(gè)經(jīng)過(guò)完整測(cè)試的Java工具類(lèi)。
          地址如下:
          https://github.com/Jimmy-Shi/bean-query

          使用說(shuō)明如下:

          Bean-query

          Click Here for English version.

          BeanQuery 是一個(gè)把對(duì)象轉(zhuǎn)換為Map的Java工具庫(kù)。支持選擇Bean中的一些屬性,對(duì)結(jié)果進(jìn)行排序和按照條件查詢(xún)。不僅僅可以作用于頂層對(duì)象,也可以作用于子對(duì)象。

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

           1 //靜態(tài)導(dǎo)入BeanQuery
           2 import static cn.jimmyshi.beanquery.BeanQuery.*;
           3 
           4 
           5 //使用 select、from、where、orderBy、desc和asc來(lái)組裝一個(gè)Query,然后執(zhí)行execute方法來(lái)獲得結(jié)果。
           6 List<Map<String, Object>> result = select("price,name,mainAuthor.name as mainAuthorName")
           7     .from(bookCollection)
           8     .where(
           9         //for books name is Book2 or starts with Book1
          10         anyOf(
          11             value("name", startsWith("Book1")),
          12             value("name", is("Book2"))
          13         ),
          14         //for books price between (53,65)
          15         allOf(
          16             value("price", greaterThan(53d)),
          17             value("price",lessThan(65d))
          18         )
          19     )
          20     .orderBy("name").desc()
          21     .execute();


          在上面的例子中,bookCollection的內(nèi)容如下所示(json格式)

          [
            {
              "price":55.55,
              "name":"Book1",
              "mainAuthor":{
                "name":"Book1-MainAuthor",
                "address":{
                  "address":"Shenzhen Guangdong China",
                  "postCode":"518000"
                },
                "birthDate":"1982-01-30T14:52:39"
              }
            },
            {
              "price":52.55,
              "name":"Book12",
              "mainAuthor":{
                "name":"Book1-MainAuthor",
                "address":{
                  "address":"Shenzhen Guangdong China",
                  "postCode":"518000"
                },
                "birthDate":"1982-01-30T14:52:39"
              }
            },
            {
              "price":53.55,
              "name":"Book13",
              "mainAuthor":{
                "name":"Book13-MainAuthor",
                "address":{
                  "address":"Shenzhen Guangdong China",
                  "postCode":"518000"
                },
                "birthDate":"1982-01-30T14:52:39"
              }
            },
            {
              "price":60.0,
              "name":"Book14",
              "mainAuthor":{
                "name":"Book14-MainAuthor",
                "address":{
                  "address":"Shenzhen Guangdong China",
                  "postCode":"518000"
                },
                "birthDate":"1982-01-30T14:52:39"
              }
            },
            {
              "price":50.55,
              "name":"Book15",
              "mainAuthor":{
                "name":"Book1-MainAuthor",
                "address":{
                  "address":"Shenzhen Guangdong China",
                  "postCode":"518000"
                },
                "birthDate":"1982-01-30T14:52:39"
              }
            },
            {
              "price":77.77,
              "name":"Book3",
              "mainAuthor":{
                "name":"Book3-MainAuthor",
                "address":{
                  "address":"Shenzhen Guangdong China",
                  "postCode":"518005"
                },
                "birthDate":"1982-01-30T14:52:39"
              }
            }
            ,
            {
              "price":66.66,
              "name":"Book2",
              "mainAuthor":{
                "name":"Book2-MainAuthor",
                "address":{
                  "address":"Shenzhen Guangdong China",
                  "postCode":"518005"
                },
                "birthDate":"1982-01-30T14:52:39"
              }
            }
          ]


          執(zhí)行完之后,則result的內(nèi)容如下所示(json格式)

          [
            {
              "price":60.0,
              "name":"Book14",
              "mainAuthorName":"Book14-MainAuthor"
            },
            {
              "price":53.55,
              "name":"Book13",
              "mainAuthorName":"Book13-MainAuthor"
            },
            {
              "price":55.55,
              "name":"Book1",
              "mainAuthorName":"Book1-MainAuthor"
            }
          ]

          評(píng)論

          # re: Bean-Query 一個(gè)把對(duì)象轉(zhuǎn)換為Map的Java工具庫(kù)  回復(fù)  更多評(píng)論   

          2014-10-27 11:20 by 網(wǎng)購(gòu)商城
          文章不錯(cuò),謝謝分享

          # re: Bean-Query 一個(gè)把對(duì)象轉(zhuǎn)換為Map的Java工具庫(kù)  回復(fù)  更多評(píng)論   

          2014-10-27 11:47 by java論壇
          什么時(shí)候可以用?

          # re: Bean-Query 一個(gè)把對(duì)象轉(zhuǎn)換為Map的Java工具庫(kù)  回復(fù)  更多評(píng)論   

          2014-10-27 23:37 by Justfly Shi
          @java論壇

          現(xiàn)在已經(jīng)是好使的了,不過(guò)還沒(méi)有獲得發(fā)布到Maven central repository上的許可。

          # re: Bean-Query 一個(gè)把對(duì)象轉(zhuǎn)換為Map的Java工具庫(kù)  回復(fù)  更多評(píng)論   

          2014-10-29 02:27 by Justfly Shi
          @java論壇

          現(xiàn)在已經(jīng)可以用了,詳情請(qǐng)查看
          http://www.aygfsteel.com/justfly/archive/2014/10/29/419152.html

          # re: Bean-Query 一個(gè)把對(duì)象轉(zhuǎn)換為Map的Java工具庫(kù)[未登錄](méi)  回復(fù)  更多評(píng)論   

          2014-11-11 17:38 by changedi
          很贊啊,有空去研讀下源碼

          # re: Bean-Query 一個(gè)把對(duì)象轉(zhuǎn)換為Map的Java工具庫(kù)[未登錄](méi)  回復(fù)  更多評(píng)論   

          2014-11-14 11:24 by Justfly Shi
          @下巴長(zhǎng)痘痘是什么原因
          現(xiàn)在已經(jīng)可以用了。
          主站蜘蛛池模板: 罗山县| 昆明市| 西安市| 合江县| 宣城市| 拉萨市| 泉州市| 嘉黎县| 沧源| 鹤岗市| 临沂市| 闸北区| 呼和浩特市| 监利县| 汶川县| 乃东县| 当阳市| 泊头市| 清河县| 越西县| 白山市| 墨竹工卡县| 东方市| 凭祥市| 灵寿县| 金门县| 玉门市| 宝山区| 新干县| 罗平县| 靖边县| 鄂伦春自治旗| 宜宾市| 鄯善县| 墨脱县| 通江县| 新田县| 武汉市| 黄浦区| 武强县| 湄潭县|