Spring Data JPA:Spring Data JPA 是 spring data 项目下的一个模块。提供了一套基于 JPA 标准操作数据库的简化方案。底层默认的是依赖 Hibernate JPA 来实现的。
技术特点:我们只需要定义接口并集成 Spring Data JPA 中所提供的接 口就可以了。不需要编写接口实现类。
架包
pojo
- @Entity:实体类
- @Table(name="t_users") :映射数据库中的表名
- @Id : 该属性为表中主键
- @GeneratedValue(strategy = GenerationType.IDENTITY):strategy = GenerationType.IDENTITY表示主键自增
- @Column(name="userid") :属性和表中列对应
package
Spring整合SpringDataJpa 配置文件
<?xml version="1.0" encoding="UTF-8"?>
Spring Data JPA 的接口继承结构
---------------------------------------------------------------------------------------
继承JpaRepository接口
JpaRepository :接口是我们开发时使用的最多的接口。其特点是可以帮助我们将其他接口的方法的返回值做适配处理。可以使得我们在开发时更方便的使用这些方法。
UsersDao
---dao层不需要实现类,需要继承 JpaRepository<T, Serializable> :T: 实体类型 Serializable:主键类型
package
测试代码
package
-----------------------------------------------------------------------------
Repository 接口 :Repository 接口是 Spring Data JPA 中为我我们提供的所有接口中的顶层接口。
Repository 提供了两种查询方式的支持
- 基于方法名称命名规则查询 (太麻烦)
- 基于@Query 注解查询
UsersDao
package
测试代码
@Modifying //@Modifying 当前语句是一个更新语句
package
CrudRepository 接口
UsersDao
package
测试代码
package
继承PagingAndSortingRepository 接口 :
UsersDao
package
测试分页:
package
JpaSpecificationExecutor接口
JpaSpecificationExecutor<T> :接口不能单独使用,必须配合Jpa中的其他接口配合使用。
UsersDao
package
测试代码
package