什么是Spring Data Jpa?
它是Spring基于ORM框架、JPA规范封装的一套JPA应用框架,可以使开发者用极简的代码即可实现对数据的访问和操作。简单的讲就是CRUD等常用操作通过它就能轻松实现,可以有效提高开发效率。
Spring Data Jpa的结构
主要接口
- Repository : 最顶层的接口,是一个空接口,目的是为了统一所有的Repository的类型,且能让组件扫描的时候自动识别。
- CrudRepository : Repository的子接口,提供crud的功能。
- PagingAndSortingRepository : CurdRepository的子接口,提供分页排序的功能。
- JpaRepository : PagingAndSortingRepository的子接口,添加批量操作等功能
-
JpaSpecificationExector : 用来做复杂查询的接口
SpringBoot整和Jpa
- pom文件引入依赖
引入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
- 创建实体类
这里我没有写get、set方法,因为使用了@Data注解。
@Data是使用的lombok插件 它的作用是在编译阶段动态生成成员变量的getset方法和toString方法
详细使用可以往后看
- 创建userDao,继承jpaRepository,泛型的第一个参数为实体类,第二个为主键id的类型
JpaRepository本身已经实现了很多方法,它支持@Query注解写HQL,也支持findAllByUsername这种根据字段名命名的方式
【常用词如下表】
类型 | 栗子 |
---|---|
全局修饰 |
Distint Top First
|
关键词 |
IsNull IsNotNull Like NotLike Containing
|
排序方向 |
Asc Desc
|
连接词 |
And Or
|
介绍下lombok插件的使用
1、idea--> setting-->plugins搜索lombok,并install
2、pom文件增加lombok依赖
想了解详细使用可以去看https://www.jianshu.com/p/2ea9ff98f7d6
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
更多内容参考官方文档