Spring Data Sql IN 用法

本文展示了一个使用Java实现的查询分页示例,通过指定组织代码、开始时间和结束时间来筛选Creditinfo对象,并利用Specification API进行条件组合。
	
	@Override
	public List<Creditinfo> findByMultiAndPage(final String[] orgacode,final String timeStart, final String timeEnd) {
		List<Creditinfo> CreditinfoList = creditinfoDao.findAll(
				new Specification<Creditinfo>() {
					@Override
					public Predicate toPredicate(Root<Creditinfo> root,
							CriteriaQuery<?> query, CriteriaBuilder cb) {
						// TODO Auto-generated method stub
						Predicate predicate = cb.conjunction();
						List<Expression<Boolean>> expressions = predicate
								.getExpressions();

//						if (StringUtils.isNotBlank(creditinfo.getCreditcode())) {
//							expressions.add(cb.equal(root.<String> get("creditcode"),creditinfo.getCreditcode())); // 机构信用代码
//						}
						if (orgacode!=null&&orgacode.length>0) {
							expressions.add(cb.and(root.<String>get("orgacode").in(orgacode))); // 机构信用代码
						}
				
						if (StringUtils.isNotBlank(timeStart)||StringUtils.isNotBlank(timeEnd)) {
							expressions.add(cb.between(root.<String> get("inputdate"),timeStart,timeEnd)); // 机构信用代码
						}
						
						
						return predicate;
					}
				});

		
		return CreditinfoList;
	}

 总结,方法要学会变通……

转载于:https://www.cnblogs.com/tested/p/3285360.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值