SpringBootjpaService层的示例分析
这篇文章主要介绍了Spring Boot jpa Service层的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:空间域名、网站空间、营销软件、网站建设、二连浩特网站维护、网站推广。
示例:
package com.fei.service.impl; import java.util.ArrayList; import java.util.List; import javax.persistence.criteria.CriteriaBuilder; import javax.persistence.criteria.CriteriaQuery; import javax.persistence.criteria.Predicate; import javax.persistence.criteria.Root; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.data.jpa.domain.Specification; import org.springframework.stereotype.Service; import com.fei.NotFoundException; import com.fei.po.Blog; import com.fei.po.Type; import com.fei.repository.BlogRepository; import com.fei.service.BlogService; /** * Created by zxf on 2019年10月3日 */ @Service public class BlogServiceImpl implements BlogService { @Autowired private BlogRepository blogRepository; /** * 根据id查询一条博客 * * @param id * @return */ @Override public Blog getBlog(Long id) { return blogRepository.findById(id).get(); } /** * 多条件动态查询博客列表 * * @param pageable * @param blog * @return */ @Override public PagelistBlog(Pageable pageable, Blog blog) { return blogRepository.findAll(new Specification () { @Override public Predicate toPredicate(Root root, CriteriaQuery> cq, CriteriaBuilder cb) { List predicates = new ArrayList<>(); String title = blog.getTitle(); if (!"".equals(title) && title != null) { predicates.add(cb.like(root. get("title"), "%" + title + "%")); } Long id = blog.getType().getId(); if (id != null) { predicates.add(cb.equal(root. get("type").get("id"), id)); } boolean isRecommend = blog.isRecommend(); if (isRecommend) { predicates.add(cb.equal(root. get("recommend"), isRecommend)); } cq.where(predicates.toArray(new Predicate[predicates.size()])); return null; } }, pageable); } /** * 保存一条博客 * * @param blog * @return */ @Override public Blog saveBlog(Blog blog) { return blogRepository.save(blog); } /** * 更新一条博客,先根据id查出结果回显 * * @param id * @param blog * @return */ @Override public Blog updateBlog(Long id, Blog blog) { Blog b = blogRepository.findById(id).get(); if (b == null) { throw new NotFoundException("你要更新的博客不存在!"); } BeanUtils.copyProperties(b, blog); return blogRepository.save(blog); } /** * 根据id删除一条博客 * * @param id */ @Override public void deleteBlog(Long id) { blogRepository.deleteById(id); } }
感谢你能够认真阅读完这篇文章,希望小编分享的“Spring Boot jpa Service层的示例分析”这篇文章对大家有帮助,同时也希望大家多多支持创新互联,关注创新互联行业资讯频道,更多相关知识等着你来学习!
分享标题:SpringBootjpaService层的示例分析
当前网址:http://scjbc.cn/article/jdphgc.html