这里都是我开发过程中遇到困难后总结出来的spring boot和jpa相关的常用知识点。写这个是为了方便以后再用到相关知识点时能很方便的运用,希望帮助我自己的同时也能帮助到你。
jpa知识点
- 1,添加数据时,自动添加时间
- 2,jpa实现复杂和分页查询
下面是细节
1-1:添加数据时,自动添加时间
1,在数据库中的表格对应的bean/** * 创建时间 */@CreatedDate@Temporal(TemporalType.TIMESTAMP)// 格式年月日时分秒private Date createTime;/** * 修改时间 */@LastModifiedDate@Temporal(TemporalType.TIMESTAMP)private Date modifyTime;2.实体类头加注解@EntityListeners(AuditingEntityListener.class)3.SpringBoot启动类加注解@EnableJpaAuditing
2-2:jpa实现复杂和分页查询
//1,实现JpaSpecificationExecutor接口public interface RunOrderRepository extends JpaRepository<RunOrder, String>,JpaSpecificationExecutor<RunOrder> {}//2,在service中做以下处理即可:public Page<RunOrder> canRobbedOrders(PageRequest pageable) { //查询条件构造 Specification<RunOrder> spec = (Specification<RunOrder>) (root, query, cb) -> { Predicate p3 = cb.equal(root.get("orderStatus"), 0);//只查询订单状态为0的订单 return cb.and(p3); // 下面方式使用JPA的API设置了查询条件,所以不需要再返回查询条件Predicate给Spring Data Jpa,故最后return null;即可。 //query.where(p); //return null; };//依据updateTime做到排序Sort sort = new Sort(Sort.Direction.DESC, "updateTime");//实现分页PageRequest pageable = new PageRequest(page, size, sort); return repository.findAll(spec, pageable);}
持续更新中。。。。
文章转载于:https://www.jianshu.com/p/13e458da89e9
原著是一个有趣的人,若有侵权,请通知删除
评论前必须登录!
立即登录