JAP
@Entity
@Table
@Id
@Query
Sort sort = new Sort(Sort.Direction.DESC, “id”); —→ findAll(sort)
Pageable pageable=PageRequest.of(0,5); 第一页 一页5条
extends JpaRepository<T, ID>
List
findByUsername(String username) 1
2
3
4
5
6
7
8
9
10
11
12
13
14interface PersonRepository extends Repository<User, Long> {
// and 的查询关系
List<User> findByEmailAddressAndLastname(EmailAddress emailAddress, String lastname);
// 包含 distinct 去重,or 的 sql 语法
List<User> findDistinctPeopleByLastnameOrFirstname(String lastname, String firstname);
// 根据 lastname 字段查询忽略大小写
List<User> findByLastnameIgnoreCase(String lastname);
// 根据 lastname 和 firstname 查询 equal 并且忽略大小写
List<User> findByLastnameAndFirstnameAllIgnoreCase(String lastname, String firstname);
// 对查询结果根据 lastname 排序,正序
List<User> findByLastnameOrderByFirstnameAsc(String lastname);
// 对查询结果根据 lastname 排序,倒序
List<User> findByLastnameOrderByFirstnameDesc(String lastname);
}

link: Spring Data JPA - Reference Documentation
(16条消息) SpringDataJpa的使用 – 条件查询、排序查询、分页查询_十⑧的博客-CSDN博客_jpa 条件查询
stream
- list.stream().map(People::getAge)
- filter(i -> i > 5)
- count()
- collect(Collectors.toList()
- People::getAge
tree
code parent_code (queryProcessTree)
- 找父节点
- 遍历寻找子节点
- 递归
- 封装数据返回
queryLazyProcessTree 懒加载去除孩子节点数据(估计前端点击展开后继续往下查询)
- 找父节点
- 找所有ChildNode
- isleaf = ChildNode.getParentCode.equals(ParentsCode).count==0 ? false : true
- 封装返回
recursive sql
1 | with recursive temp(id,username,pid,pname) AS ( |


union all / union
uniall 整合两张表 上下连接,去重
uniall all 整合两张表 上下连接,列出全部