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(Rootroot,CriteriaQuery>cq,CriteriaBuildercb){
Listpredicates=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);
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。