一、先了解下什么是JPA
JPA(Java Persistence API)是Sun官方提出的Java 持久化规范, 它为 Java 开发人员提供了一种对象/关联映射工具来管理 Java 应用中的关系数据。它的出现主要是为了简化现有的持久化开发工作和整合 ORM 技术,结束现在 Hibernate,TopLink,JDO 等 ORM 框架各自为营的局面。 对持久化规范可以理解为 “持久化” 和 “规范”.
比较专业说法: 持久化(Persistence),即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘)。持久化的主要应用是将内存中的对象存储在的数据库中,或者存储在磁盘文件中、XML数据文件中等等。
持久化是将程序数据在持久状态和瞬时状态间转换的机制
- 所谓的规范意指明文规定或约定俗成的标准。如:道德规范、技术规范,公司管理规范。 如果没有一个规范来进行约束,那么一些新出现的框架,就会随意的按照自己的标准来,那么我们开发者在开发的是应该遵从那个标准喃?我们就不能很好的去关注自身业务了。其他的相关内容这里就不在赘述了请自行了解。
springboot jpa 是 Spring 基于 ORM 框架、Jpa 规范的基础上封装的一套 Jpa 应用框架,可使开发者用极简的代码即可实现对数据的访问和操作。它提供了包括增删改查等在内的常用功能,且易于扩展!学习并使用 Spring Data Jpa 可以极大提高开发效率!Spring Boot Jpa 让我们解脱了 DAO 层的操作,基本上所有 CRUD 都可以依赖于它来实现
二、spring boot jpa 基本使用
1、先在pom中引入springboot jap 依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
2、建立实体类
3、定义 数据访问层接口 UserRepository 然后继承 jpaRepository<User,long> , 在写添加方法时 修改通过@Query注解加上 , nativeQuery = true 来 使用原生SQL ,如果不使用 就是HQL。
在编写查询语句时 idea 会有相关 jpa 语法提示
4、编写service 接口
5、编写相关实现类
6、编写控制层
7、模拟请求添加操作
http://localhost:8081/user/saveUser
8、在使用restful 风格请求时, 通过@PathVariable 注解来绑定,前端传入参数个数如下
http://localhost:8081/user/findById/3
9、 注意在使用jpa 时,在查询数据时 需要通过@Param 参数进行判断查询,必须同这个注解进行绑定
如果没有通过注解绑定那么就会报下面的错。
10、重写了一个UserRedirectController 通过 @Controller 注解来进行重定向
11、请求http://localhost:8081/indexRedirect ,那么就会跳转到下面的页面,在下面就可以进行简单 的操作了
12、
application.properties 配置
注意:要在在pom文件添加依赖
项目地址:https://github.com/liu92/learn