首页 > 代码库 > Bean-Query 一个把对象转换为Map的Java工具库
Bean-Query 一个把对象转换为Map的Java工具库
刚开源了一个经过完整测试的Java工具类。目前的代码已经经历了完整的测试,正在申请放到Maven central Repository上。
地址如下:
https://github.com/Jimmy-Shi/bean-query
使用说明如下:
在上面的例子中,bookCollection的内容如下所示(json格式)
执行完之后,则result的内容如下所示(json格式)
地址如下:
https://github.com/Jimmy-Shi/bean-query
使用说明如下:
Bean-query
Click Here for English version.
BeanQuery 是一个把对象转换为Map的Java工具库。支持选择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( //for books name is Book2 or starts with Book1 anyOf( value("name", startsWith("Book1")), value("name", is("Book2")) ), //for books price between (53,65) allOf( value("price", greaterThan(53d)), value("price",lessThan(65d)) ) ) .orderBy("name").desc() .execute();
在上面的例子中,bookCollection的内容如下所示(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" } } ]
执行完之后,则result的内容如下所示(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" } ]
Bean-Query 一个把对象转换为Map的Java工具库
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。