Spring Boot jpa Service层代码实例
这篇文章主要介绍了SpringBootjpaService层代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
packagecom.fei.service.impl; importjava.util.ArrayList; importjava.util.List; importjavax.persistence.criteria.CriteriaBuilder; importjavax.persistence.criteria.CriteriaQuery; importjavax.persistence.criteria.Predicate; importjavax.persistence.criteria.Root; importorg.springframework.beans.BeanUtils; importorg.springframework.beans.factory.annotation.Autowired; importorg.springframework.data.domain.Page; importorg.springframework.data.domain.Pageable; importorg.springframework.data.jpa.domain.Specification; importorg.springframework.stereotype.Service; importcom.fei.NotFoundException; importcom.fei.po.Blog; importcom.fei.po.Type; importcom.fei.repository.BlogRepository; importcom.fei.service.BlogService; /** *Createdbyzxfon2019年10月3日 */ @Service publicclassBlogServiceImplimplementsBlogService{ @Autowired privateBlogRepositoryblogRepository; /** *根据id查询一条博客 * *@paramid *@return */ @Override publicBloggetBlog(Longid){ returnblogRepository.findById(id).get(); } /** *多条件动态查询博客列表 * *@parampageable *@paramblog *@return */ @Override publicPagelistBlog(Pageablepageable,Blogblog){ returnblogRepository.findAll(newSpecification (){ @Override publicPredicatetoPredicate(Root root,CriteriaQuery>cq,CriteriaBuildercb){ List predicates=newArrayList<>(); Stringtitle=blog.getTitle(); if(!"".equals(title)&&title!=null){ predicates.add(cb.like(root. get("title"),"%"+title+"%")); } Longid=blog.getType().getId(); if(id!=null){ predicates.add(cb.equal(root. get("type").get("id"),id)); } booleanisRecommend=blog.isRecommend(); if(isRecommend){ predicates.add(cb.equal(root. get("recommend"),isRecommend)); } cq.where(predicates.toArray(newPredicate[predicates.size()])); returnnull; } },pageable); } /** *保存一条博客 * *@paramblog *@return */ @Override publicBlogsaveBlog(Blogblog){ returnblogRepository.save(blog); } /** *更新一条博客,先根据id查出结果回显 * *@paramid *@paramblog *@return */ @Override publicBlogupdateBlog(Longid,Blogblog){ Blogb=blogRepository.findById(id).get(); if(b==null){ thrownewNotFoundException("你要更新的博客不存在!"); } BeanUtils.copyProperties(b,blog); returnblogRepository.save(blog); } /** *根据id删除一条博客 * *@paramid */ @Override publicvoiddeleteBlog(Longid){ blogRepository.deleteById(id); } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。