Bean Query 复用Apache Commons BeanUtils, Apache Commons Collections和Java 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组成:
刚开源了一个经过完整測试的Java工具类。 地址例如以下: https://github.com/Jimmy-Shi/bean-query 使用说明例如以下: Bean-query Click Here for English version. BeanQuery 是一个把对象转换为Map的Java工具库。支持选择Bean中的一些属性,对结果进行排序和依照条件查询。不只能够作用于顶层对象,也能够作
BeanQuery 是一个把对象转换为Map的Java工具库。 支持选择Bean中的一些属性。对结果进行排序和依照条件查询。 不只能够作用于顶层对象,也能够作用于子对象。很多其它具体的介绍能够看我的博文: http://blog.csdn.net/justfly/article/details/40486881 我刚刚公布了版本号1.0.0. 如今已经在Sonatype OSS库上了,2个小时后将
软件介绍 文档 阅读 使用说明来学习怎么使用 快速入门 BeanQuery的使用非常简单也很直接,例子代码如下: //静态导入BeanQuery import static cn.jimmyshi.beanquery.BeanQuery.*; //使用 select、from、where、orderBy、desc和asc来组装一个Query,然后执行execute方法来获得结果。 List> re
BeanQuery 是一个把对象转换为Map的Java工具库。支持选择Bean中的一些属性,对结果进行排序和按照条件查询。不仅仅可以作用于顶层对象,也可以作用于子对象。更多详细的介绍可以看我的博文: http://blog.csdn.net/justfly/article/details/40486881 我刚刚发布了版本1.0.0. 现在已经在Sonatype OSS库上了,2个小时后将会被同步
修改内容: 修复输入对象被排序的属性不存在或者为Null时出错的bug 在Maven项目中引用 <dependency> <groupId>cn.jimmyshi</groupId> <artifactId>bean-query</artifactId> <version>1.0.1</version> </dependency>
Bean Query是一个开源的Java工具包,它复用Apache Commons BeanUtils, Apache Commons Collections, Java Hamcrest 来简化对Bean(集合)的排序,过滤和转换。 项目地址: https://github.com/Jimmy-Shi/bean-query http://git.oschina.net/jimmyshi/bean
可直接跳转到Service层。 写此文原因: 调用jdbc.queryForObject时抛出异常:INCORRECT COLUMN COUNT: EXPECTED 1, ACTUAL 3 即:预期1列,但查出来的数据有3列。 自定义bean package com.lm.hadoop.Vo; public class NetDiskUser { public String userId
如果使用ebean的Type safe queries (Query Beans) 查询方式,ebean会通过enhancement方式通过插件自动生成Q开头的基于编写的entity的query bean StudentEntity —>生成 QStudentEntity ,做类型检查 query bean的生成位置在 //resources/ebean.mf querybean-packages
在使用dbutils时,其query方法默认返回相应BeanHandler实例化时放入的运行时类的对象 当数据库表中的字段名与我们定义的Bean属性名不一致时,使用 select id, name, email, birth from customers where id = ? 不一致的属性值就会返回默认值(int返回0 引用数据类型返回null) 解决方法一: 更改sql语句(给查询字段起别名
代码地址:https://github.com/Jimmy-Shi/bean-query/tree/bean-query-1.1.1 修改内容: 简化用户自定义转换 例子: List<String> bookNames=select(new DefaultSelector<String>() { @Override public String select(Object i
首先,要学习Spring中的Bean的注入方式,就要先了解什么是依赖注入。依赖注入是指:让调用类对某一接口的实现类的实现类的依赖关系由第三方注入,以此来消除调用类对某一接口实现类的依赖。 Spring容器中支持的依赖注入方式主要有属性注入、构造函数注入、工厂方法注入。接下来将为大家详细介绍这三种依赖注入的方式以及它们的具体配置方法。 1.属性注入 属性注入即通过setXXX( )方法注入bean的
所谓依赖注入,其实就是给对象里的属性赋值,因为对象里有其他对象,因此就形成了依赖。Spring有4种方式来给属性赋值: 1. 构造方法注入 2. set方法注入 3. 自动装配 4. 注解 1. 构造方法注入 构造方法注入是指在构造方法中注入属性或者对象来实现依赖注入,如下所示,在标签中定义一个id为userDaoImpl的Bean,并通过注入了name为username,value为admin的
前言 一般而言,我们都知道,在启动一个spring/springboot项目时,随着ioc容器的加载,会向容器中注册许多我们在程序中已经定义好的bean,我们平时注册bean的方式如下: xml方式: <beans>//Bean定义的开始和结束 <import resource=“resource1.xml” />//导入其他配置文件Bean的定义 <import resour
情景 我之前运到过相同的报错,主要原因是因为Bean名重复的问题: Bean重复导致出现Annotation-specified bean name ‘xx’ for bean class [xxx] conflicts with existing, non-compatible bean definition of same name and class[xxx]错误 这一次有所不同 使用Spr
最近用到WebSocket协议,所以需要SpringBoot整合WebSocket。首先说下WebSocket协议,它是双向的,在客户端-服务器通信的场景中使用的全双协议,与HTTP不同,它以ws://开头,它是一个有状态协议,意味着客户端和服务器之间的连接保持活动状态,直到被任何一方终止。在客户端和服务器中的任何一方关闭连接后,连接将两端终止。 SpringBoot整合WebSocket 1、添
第一条结果查询 public class BeanQuery { public static void main(String[] args) throws SQLException { QueryRunner qr = new QueryRunner(); String sql="select * from t1"; Connection
@Query(value ="select new com.iaep.model.DataModel(dr.id, dr.dtcTableName,dr.title) from DataResourceEntity dr where dr.isDelete=0") List<DataModel> selectData(); 报错如下: org.springframework.beans.fact
Illustrator 提供了很多用于创建和处理图稿的工具。这些工具库为每个工具都提供了快速的可视化概要。 工作区 选择工具库 Illustrator 提供以下选择工具: 选择工具 (V) 可用来选择整个对象。 直接选择工具 (A) 可用来选择魔棒工具 (Y) 可用来选择具有对象内的点或路径段。相似属性的对象。 编组选择工具可用来选择组内的对象或组内的组。 套索工具 (Q) 可用来选择对象内的点或
龙虎牛熊多头合约池 接口名称 long_pool 接口描述 龙虎牛熊多头合约池接口 请求参数 参数名 说明 举例 date 查询日期 2018-08-08 返回参数 参数名 类型 说明 symbol string 品种编码 code string 合约代号 示例代码 from akshare import pro_api pro = pro_api(token="在此处输入您的token,可以通过
工具 客户端 客户端分为三种:完整客户端、轻量级客户端和在线客户端。 完整客户端:存储所有的交易历史记录,功能完备; 轻量级客户端:不保存交易副本,交易需要向别人查询; 在线客户端:通过网页模式来浏览第三方服务器提供的服务。 钱包 矿机 专门为“挖矿”设计的硬件,包括基于 GPU 和 ASIC 的芯片。 脚本 比特币交易支持一种比较简单的脚本语言(类 Forth 的栈脚本语言),可以写入 UTXO
工具 以下的一些工具可以帮助你自动检查项目中的 Ruby 代码是否符合这份指南。 RuboCop [RuboCop][] 是一个基于本指南的 Ruby 代码风格检查工具。RuboCop 涵盖了本指南相当大的部分,其同时支持 MRI 1.9 和 MRI 2.0,且与 Emacs 整合良好。 RubyMine RubyMine 的代码检查部分基于本指南。
10.7. 工具 本章剩下的部分将讨论Go语言工具箱的具体功能,包括如何下载、格式化、构建、测试和安装Go语言编写的程序。 Go语言的工具箱集合了一系列的功能的命令集。它可以看作是一个包管理器(类似于Linux中的apt和rpm工具),用于包的查询、计算包的依赖关系、从远程版本控制系统下载它们等任务。它也是一个构建系统,计算文件的依赖关系,然后调用编译器、汇编器和链接器构建程序,虽然它故意被设计成
vse命令行工具 yocode扩展生成器 范例
提供各种支付需要的配置生成方法。 配置 <?php use EasyWeChat\Pay\Application; $config = [...]; $app = new Application($config); $utils = $app->getUtils(); 注意 生成支付 JS 配置 有四种发起支付的方式:WeixinJSBridge, JSSDK, 小程序支付, APP We
CoreOS 内置了 服务发现,容器管理 工具。 服务发现 CoreOS 的第一个重要组件就是使用 etcd 来实现的服务发现。在 CoreOS 中 etcd 默认以 rkt 容器方式运行。 etcd 使用方法请查看 etcd 章节。 容器管理 第二个组件就是 Docker,它用来运行你的代码和应用。CoreOS 内置 Docker,具体使用请参考本书其他章节。