Spring Boot jpa Service层的示例分析
发表于:2024-11-14 作者:千家信息网编辑
千家信息网最后更新 2024年11月14日,这篇文章主要介绍了Spring Boot jpa Service层的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。示例:pac
千家信息网最后更新 2024年11月14日Spring Boot jpa Service层的示例分析
这篇文章主要介绍了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日 */@Servicepublic 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层的示例分析"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!
博客
篇文章
示例
分析
更新
查询
价值
兴趣
动态
同时
更多
朋友
条件
知识
结果
编带
行业
资讯
资讯频道
频道
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数字计算机网络技术的应用
高数数据库
宁夏网络安全专业招聘信息
删除sql数据库
新建备份文件恢复到数据库
鹤壁网络安全日
数据库的边界方案
拍照翻译器软件开发
如何找代理服务器地址
网络安全工作信
linux下的数据库操作
社区网络技术
如何判断数据库结构
软件开发实施工作量评估
大众网络安全法
服务器可以挖哪些币
ppt模板下载网络安全
软件开发产业类型
衢州数据网络技术怎么样
奉贤区管理网络技术服务市价
数据库中怎么查询指定日期
软件开发合同范本下载
展招网络技术
湛江智能软件开发设计
网络安全记心中资料
图书管理系统数据库运行维护
数据库创建表时间
外汇管理局网络安全技术体系
起床战争的服务器地址是多少
国泰安数据库如何衡量国企