没有合适的资源?快使用搜索试试~ 我知道了~
首页spring data jpa分页查询示例代码
资源详情
资源评论
资源推荐
spring data jpa分页查询示例代码分页查询示例代码
本篇文章主要介绍了spring data jpa分页查询示例代码,分页在很多项目中都能使用,具有一定的参考价值,有
兴趣的可以了解一下。
最近项目上用就hibernate+spring data jpa,一开始感觉还不错,但是随着对业务的复杂,要求处理一些复杂的sql,就顺便研
究了下,把结果记录下,以便日后查看。用到Specification,需要继承JpaSpecificationExecutor接口。(下面代码有的分页从
0开始作为第一页,有的从1开始作为作为第一页,我也忘记,请自己测试)
DAO层:
import java.util.List;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;
@Repository
public interface CameraInfoRepo extends JpaRepository<CameraInfoPO, String>, JpaSpecificationExecutor<CameraInfoPO> {
@Query("select c from CameraInfoPO c where c.deviceInfo.id = ?1")
public List<CameraInfoPO> findCamerasByDeviceId(String listDeviceInfoId);
//更新之后不清空缓存,在一个事务里查询到旧数据(hibernate)
@Modifying
@Query(value = "update CameraInfoPO c set c.isEnabled = 1 where c.id = ?1")
public void updateEnabled(String cameraId);
//更新之后清空缓存,不保留旧对象(hibernate)
@Modifying(clearAutomatically = true)
@Query(value = "update CameraInfoPO c set c.isEnabled = 0 where c.id = ?1")
public void updateUnEnabled(String cameraId);
//带条件的分页查询
public Page<CameraInfoPO> findByIsEnabled(Integer isEnabled, Pageable pageable);
}
DAO实现层
import java.util.ArrayList;
import java.util.List;
import javax.annotation.Resource;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.TypedQuery;
import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.Predicate;
import javax.persistence.criteria.Root;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageImpl;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.domain.Specification;
import org.springframework.stereotype.Repository;
@Repository
public class CameraInfoRepoImpl {
@PersistenceContext
private EntityManager em;
@Resource
private CameraInfoRepo cameraInfoRepo;
public Page<CameraInfoPO> findCameraInfoByPage(Pageable pageable, Integer isEnabled) {
//CriteriaBuilder,用来构建CritiaQuery的构建器对象
CriteriaBuilder criteriaBuilder = em.getCriteriaBuilder();
//CriteriaQuery,它包含着查询语句的条件各个部分,比如:select 、from、where、group by、order by等
weixin_38652636
- 粉丝: 6
- 资源: 896
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0