1 springdatajpa
什么是springdatajpa:
springdata 这个项目 对于jpa进行封装,而形成一个springdatajpa的框架。封装之后,使用更加简单
1.1 SpringdataJpa 的crud
用法:
(1)定义一个接口 继承 JpaRepository这个接口
新增/修改 save
employeeRepository.save(employee)
查询 findOne
employeeRepository.findOne(id)
查询所有 findAll
employeeRepository.findAll()
删除 delete /deleteInBatch
employeeRepository.delete(id)
1.2 Springdatajpa的分页和排序
Sort sort = new Sort(Sort.Direction.DESC,"age");
//分页和排序
Pageable pageable = new PageRequest(0, 10,sort);
Page<Employee> page = employeeRepository.findAll(pageable);
1.3 按照条件规则查询–只适合简单的查询
public interface EmployeeRepository extends JpaRepository<Employee,Long> {
//按照规则条件进行查询 模糊查询
public List<Employee> findByUsernameLike(String username);
public List<Employee> findByUsername(String username);
public List<Employee> findByAgeGreaterThan(Integer age);
}
应用场景:只适合简单的sql 比如只有个一两个条件可以使用
1.4 写jpql语句–Query注解式jpql
//Query注解查询
@Query("select o from Employee o where o.id =(select max(p.id) from Employee p)")
public Employee queryEmployee();
//根据用户名和邮件查询员工 参数名称 建议写来一致
@Query("select o from Employee o where o.username like ?1 and o.email like ?2")
public List<Employee> queryEmployee1(String name ,String email);
//@Param(username) 必须和 :username 一致 建议来都写来一致
@Query("select o from Employee o where o.username like :username and o.emai