视频网址:http://www.imooc.com/learn/821

附件:

点我,我是附件

1.基本的两种使用方式

基本配置和依赖参照视频附件

新建接口

1)继承Repository<T, ID extends Serializable>然后写方法名称

2)使用@RepositoryDefinition(domainClass = Employee.class, idClass = Integer.class)

2.@Query的使用

sql语句

面向对象的语句:

@Query(“select o from Employee o where o.name=?1 and o.age=?2”)

List queryParams1(String name,Integer age);

原生的语句(nativeQuery = true):

@Query(value=”select * from employee where name like %:name%”,nativeQuery = true)

List queryLike3(@Param(“name”)String name);

参数类型

“?索引号”形式的索引参数和“”形式的命名参数

3.基本的事务

@Transactional加在Service层

Repository层涉及到修改的方法要用@Modifying注解,否则会报不能执行DML操作的错误

4.高级点的功能

Repository接口的几个子类接口(层层继承)

  • CrudRepository 基本的crud扩展

  • PagingAndSortingRepository 分页和排序

    • pageable实现类PageRequest和排序对象Sort和Sort.Order的使用
    • 注意分页的页数是从0开始数的
  • JpaRepository 层层继承以上所有,功能最全

JpaSpecificationExecutor

灵活构建自己所需的条件

public interface EmployeeJpaSpecificationExecutor

extends JpaRepository<Employee,Integer>

​ ,JpaSpecificationExecutor

一个简单例子

img