JPA语法大全 特别是JPA的不等于[通俗易懂]

JPA语法大全 特别是JPA的不等于[通俗易懂]JPA语法大全(特别是JPA的!=不等于)Keyword:为关键词Sample:为直接用在方法名上的例子JPQLsnipper:为JPQL,@Query的写法的例子

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

JPA语法大全(特别是JPA的!=不等于)

Keyword:为关键词
Sample:为直接用在方法名上的例子
JPQLsnipper:为JPQL,@Query的写法的例子

在这里插入图片描述

复杂查询


	@Override
	public JSONResult<PageResult<OrdOfflineOrderVO>> findOfflineOrder(OrdOfflineOrderSearchVO vo) { 
   

		Page<OrdOfflineOrderPO> page= ordOfflineOrderRepository.findAll(new Specification<OrdOfflineOrderPO>() { 
   

			@Override
			public Predicate toPredicate(Root<OrdOfflineOrderPO> root, CriteriaQuery<?> criteriaQuery, CriteriaBuilder criteriaBuilder) { 
   
				List<Predicate> list = new ArrayList<Predicate>();
				if(StringUtils.isNotBlank(vo.getProductName())){ 
   
					list.add(criteriaBuilder.like(root.get("productName").as(String.class), "%"+vo.getProductName()+"%"));
				}
				if (vo.getStartTime()!=null) { 
   
					//大于或等于传入时间
					list.add(criteriaBuilder.greaterThanOrEqualTo(root.get("createTimestamp").as(Date.class), vo.getStartTime()));
				}
				if (vo.getEndTime()!=null) { 
   
					//小于或等于传入时间
					list.add(criteriaBuilder.lessThanOrEqualTo(root.get("createTimestamp").as(Date.class), vo.getEndTime()));
				}


				Predicate[] predicates = new Predicate[list.size()];
				return criteriaBuilder.and(list.toArray(predicates));
			}
		},vo.toPageRequest());
		List<OrdOfflineOrderVO> list=new ArrayList<>();
		 page.getContent().forEach(po->{ 
   
			 OrdOfflineOrderVO orderVO=new OrdOfflineOrderVO();
			 BeanUtils.copyProperties(po,orderVO);
			 list.add(orderVO);
		 });
		PageResult<OrdOfflineOrderVO> result = PageResult.of(page.getNumber(), page.getTotalPages(), page.getTotalElements(), list);
		return new JSONResult(result);
	}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/184419.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 基于LM331的频率电压转换电路「建议收藏」

    基于LM331的频率电压转换电路「建议收藏」常用的模拟信号的传输方式有电压传输、电流传输和频率传输,其中电压传输的方式最为简单方便,成本最低,但是电压信号在传输的过程中最容易受到干扰,并且传输过程会有损耗,因此不适合远距离传输。将电压转换为电流或者频率后,可以进行远距离传输,且抗干扰能力强,其中电流传输的抗干扰能力最好,传输距离最远,但是成本较高,而频率在距离超过100m时波形会失真,抗干扰能力介于电压和电流之间。本文主要介绍基于LM331的频率-电压转换电路,关于LM331的简介和电压-频率转换电路可以参考《基于LM331的电压频率转换电路》。

    2022年5月5日
  • 公钥\私人 ssh避password登陆

    公钥\私人 ssh避password登陆

    2022年1月13日
  • Java学习之常用类篇

    Java学习之常用类篇0x00前言在开发中难免调用到各种api来开发程序,那就先来学习一下api的一些相关概念。0x01api的使用首先还是得来看看api的一个解释。API(Applic

    2021年12月11日
  • 软件测试用例常用七大方法

    软件测试用例常用七大方法第一:测试用例格式包括十大特点用例编号测试项测试标题用例属性重要级别:高中低预置条件测试输入操作步骤预期结果实际结果第二:等价类1,等价类定义2,等价类划分3,等价类划分规则4,进行等价类用例设计5,案例加以说明第三:边界值1,边界值的三点2,边界值应用场景3,边界值方法应用步骤第四:判定…

    2022年6月30日
  • 彻底弄懂LSH之simHash算法[通俗易懂]

    彻底弄懂LSH之simHash算法[通俗易懂]马克·吐温曾经说过,所谓经典小说,就是指很多人希望读过,但很少人真正花时间去读的小说。这种说法同样适用于“经典”的计算机书籍。最近一直在看LSH,不过由于matlab基础比较差,一直没搞懂

    2022年8月5日
  • 在Python中关系运算符中,表示“不等于”(python的逻辑运算符)

    python不等于运算符PythonnotequaloperatorreturnsTrueiftwovariablesareofsametypeandhavedifferentvalues,ifthevaluesaresamethenitreturnsFalse.如果两个变量具有相同的类型并且具有不同的值,则Python不等于运算符将返回Tru…

    2022年4月18日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号