springboot集成jpa

1、添加pom依赖

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>

2、常用crud

//列表条件查询
Specification<EngagePo> specification = new Specification<EngagePo>() {
private static final long serialVersionUID = 1L;

@Override
public Predicate toPredicate(Root<EngagePo> root, CriteriaQuery<?> criteriaQuery,
                             CriteriaBuilder cb) {
    List<Predicate> list = new ArrayList<Predicate>();
    // 机构、时间、状态
    String orgCode = engageVo.getOrgId();
    if (!StringUtils.isEmptyOrNull(orgCode)) {
        list.add(cb.equal(root.get("orgCode"), orgCode));
    }
    Path<Date> createTimeField = root.get("crtTm");
    Date start = engageVo.getStartDate();
    Date end = engageVo.getEndDate();
    if (!StringUtils.isEmptyOrNull(engageVo.getStartDate())
            && !StringUtils.isEmptyOrNull(engageVo.getEndDate())) {
        list.add(cb.between(createTimeField, start, end));
    }
    String state = engageVo.getState();
    if (!StringUtils.isEmptyOrNull(state)) {
        list.add(cb.equal(root.get("state"), state));
    }
    return cb.and(list.toArray(new Predicate[list.size()]));
}
};
Page<EngagePo> result = engageRepository.findAll(specification, page);


//更新
EngagePo engagePONew = ModelMapperUtil.map(engageVo, EngagePo.class);
Optional<EngagePo> findById = engageRepository.findById(engageVo.getId());
if (findById.isPresent()) {
  EngagePo engagePOOld = findById.get();
  engagePOOld.copy(engagePONew);
  engageRepository.save(engagePOOld);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值