CriteriaBuilder jpa 日期date查询
概要:前端日期选择器选择完之后传一个String到后台,后台的字段的数据类型是date

前端:
<label class="layui-form-label" >单据日期</label>
<div class="layui-input-inline">
<input type="text" id="taxDate" placeholder="单据日期"
autocomplete="off" class="layui-input">
</div>
//单据日期
laydate.render({
elem: '#taxDate'
,type: 'date' //默认,可不填
});
后端:
@Override
public Page<SalesOrder> findPage(SalesOrderModel salesOrderModel, int currentPage, int pageSize) { Specification<SalesOrder> specification = new Specification<SalesOrder>() { @Override
public Predicate toPredicate(Root<SalesOrder> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
List<Predicate> list = new ArrayList<>();
Predicate deleteMark = cb.equal(root.get("deleteMark").as(Boolean.class), false);
list.add(deleteMark);
// 单据编号
if (!CommonUtil.isEmpty(salesOrderModel.getOrderId())) {
Predicate orderId = cb.like(root.get("orderId"), "%" + salesOrderModel.getOrderId().trim() + "%");
list.add(orderId);
} // 内部编号
if (!CommonUtil.isEmpty(salesOrderModel.getEntryId())) {
Predicate entryId = cb.like(root.get("entryId"), "%" + salesOrderModel.getEntryId().trim() + "%");
list.add(entryId);
} // 单据日期
if (!CommonUtil.isEmpty(salesOrderModel.getTaxDate())) {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Date startDate = null;
Date endDate = null;
try {
startDate = format.parse(salesOrderModel.getTaxDate());
endDate = format.parse(salesOrderModel.getTaxDate());
} catch (ParseException e) {
startDate = new Date();
endDate = new Date();
}
Predicate taxDate = cb.between(root.<Date>get("taxDate"),startDate, endDate);//开始日期和结束日期是同一个 list.add(taxDate);
}
Predicate[] predicates = new Predicate[list.size()]; return cb.and(list.toArray(predicates));
} };
List<Order> orders = new ArrayList<>(); orders.add(new Order(Direction.DESC, "createDate"));
Sort sort = Sort.by(orders); Pageable pageable = PageRequest.of(currentPage - 1, pageSize, sort); return salesOrderRepository.findAll(specification, pageable);
}
CriteriaBuilder jpa 日期date查询的更多相关文章
- Spring data jpa 复杂动态查询方式总结
一.Spring data jpa 简介 首先我并不推荐使用jpa作为ORM框架,毕竟对于负责查询的时候还是不太灵活,还是建议使用mybatis,自己写sql比较好.但是如果公司用这个就没办法了,可以 ...
- Oracle的日期时间范围查询
Oracle日期时间范围查询 Sql代码 /* 日期时间范围查询 */ ---------- 创建日期时间测试表-------------------------------------------- ...
- 使用Sql按日期条件查询
--查询当天(1: select * from ShopOrder where datediff(day,ordTime,getdate()-1)=0 --查询当天(2:select * from i ...
- Spring Hibernate JPA 联表查询 复杂查询(转)
今天刷网,才发现: 1)如果想用hibernate注解,是不是一定会用到jpa的? 是.如果hibernate认为jpa的注解够用,就直接用.否则会弄一个自己的出来作为补充. 2)jpa和hibern ...
- Spring Hibernate JPA 联表查询 复杂查询
今天刷网,才发现: 1)如果想用hibernate注解,是不是一定会用到jpa的? 是.如果hibernate认为jpa的注解够用,就直接用.否则会弄一个自己的出来作为补充. 2)jpa和hibern ...
- Mongoose关于当天日期的查询
参考:https://blog.csdn.net/difffate/article/details/70312894 Ant Design Pro中,有关于日期的查询条件,但日期是以数字表示的 Req ...
- oracle日期时间范围查询
Oracle的日期时间范围查询 字段为:字符串类型(char),长度为:10 SELECT * FROM testdatetime t WHERE = AND t.createdate >= ' ...
- JPA的动态查询拼接
在使用Spring JPA提供的方法只能进行简单的CRUD,如果遇到复杂的情况就需要我们动态来构建查询条件了.这里我们来看使用CriteriaBuilder如何来构造查询.核心代码: Criteria ...
- MySQL 按照日期格式查询带有时间戳数据
按照日期格式查询带有时间戳数据一般在MSQL数据库中的时间都是以时间戳的格式来存储时间的,但是对于我们来说,时间戳格式具体表示的是什么时间,我们很难一眼看出来,所以当我们要具体查询某一个时间或时间段的 ...
随机推荐
- 关于在Spring项目中使用thymeleaf报Exception parsing document错误
今天在使用SpringBoot的过程中,SpringBoot版本为1.5.18.RELEASE,访问thymeleaf引擎的html页面报错Exception parsing document: 这是 ...
- MySql 部分字段去重
select * from personal_question_answer where answer_id in ( select min(answer_id) from personal_ques ...
- mybatis + oracle 自增 结合navicate
1.navicate建表 //T_USER表建立序列T_USER_SQCREATE SEQUENCE T_USER_SQ INCREMENT BY NOMAXVALUE NOCYCLE CACHE ; ...
- Java实现impala操作kudu
推荐阅读: 论主数据的重要性(正确理解元数据.数据元) CDC+ETL实现数据集成方案 Java实现impala操作kudu 实战kudu集成impala 对于impala而言,开发人员是可以通过JD ...
- ArcGIS Engine开发碰到问题及解决方式
1.问题描述——运行提示:ArcGIS version not specified. You must call RuntimeManager.Bind before creating any Arc ...
- windows服务踩的坑
最近写了一个windows服务 有一些bug最后终于解决了还是写点经验把. 第一点.版本问题,因为是小白,第一次写windows服务,选择的是.net4.6.1的目标框架,因为我的电脑是windows ...
- 在腾讯云上配置.NetCoreWeb
1.购买服务器 2.远程登录(账号密码在上图铃铛里的消息里) 3.安装iis 3.安装.NetCore相关 下载最新版本.NET Core Windows Server Hosting https:/ ...
- 【daily】Java枚举 - fastjson对enum的处理
目的 1.枚举值转换成完全的json: 2.对象中的枚举成员完全转换成json: 3.枚举类的全部值转换成json: 枚举定义 public enum SongsEnum { SAFE_AND_SOU ...
- too many open files异常及解决办法
1.问题描述: 最近项目中由于大批量的操作文件,项目部署在Linux服务器上,突然发现出现了 too many open files异常. 经过一番查阅,(直译过来就是文件打开数过多)但是查阅了相关的 ...
- ES6扩展
模板字符串和标签模板 const getCourseList = function() { // ajax return { status: true, msg: '获取成功', data: [{ i ...