加入收藏 | 设为首页 | 会员中心 | 我要投稿 宿州站长网 (https://www.0557zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

一文搞懂如何在Spring Boot正确中使用JPA

发布时间:2019-10-21 04:08:44 所属栏目:建站 来源:SnailClimb
导读:副标题#e# JPA 这部分内容上手很容易,但是涉及到的东西还是挺多的,网上大部分关于 JPA 的资料都不是特别齐全,大部分用的版本也是比较落后的。另外,我下面讲到了的内容也不可能涵盖所有 JPA 相关内容,我只是把自己觉得比较重要的知识点总结在了下面。很

实际使用:

  1. //分页选项 
  2. PageRequest pageRequest = PageRequest.of(0, 3, Sort.Direction.DESC, "age"); 
  3. Page<UserDTO> userInformationList = personRepository.getUserInformationList(pageRequest); 
  4. //查询结果总数 
  5. System.out.println(userInformationList.getTotalElements());// 6 
  6. //按照当前分页大小,总页数 
  7. System.out.println(userInformationList.getTotalPages());// 2 
  8. System.out.println(userInformationList.getContent()); 

4.加餐:自定以SQL语句的其他用法

下面我只介绍两种比较常用的:

IN 查询

BETWEEN 查询

当然,还有很多用法需要大家自己去实践了。

4.1 IN 查询

在 sql 语句中加入我们需要筛选出符合几个条件中的一个的情况下,可以使用 IN 查询,对应到 JPA 中也非常简单。比如下面的方法就实现了,根据名字过滤需要的人员信息。

  1. @Query(value = "select new github.snailclimb.jpademo.model.dto.UserDTO(p.name,p.age,c.companyName,s.name) " + 
  2.         "from Person p left join Company c on  p.companyId=c.id " + 
  3.         "left join School s on p.schoolId=s.id " + 
  4.         "where p.name IN :peopleList") 
  5. List<UserDTO> filterUserInfo(List peopleList); 

实际使用:

List personList=new ArrayList<>(Arrays.asList("person1","person2"));List userDTOS = personRepository.filterUserInfo(personList);

4.2 BETWEEN 查询

(编辑:宿州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!