JPA是Java Persistence API的简称,中文名Java持久层API,是JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体​​对象持久化​​到数据库中。 API用来操作实体对象,执行CRUD操作,框架在后台替代我们完成所有的事情,开发者从繁琐的JDBC和SQL代码中解脱出来。

springboot对JPA的整合简单示例:

示例目录结构:

springboot 整合JPA的简单示例_集成JPA简单示例

1、pom.xml文件导入所需要的依赖:

<dependencies>
<!-- JPA 依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>

<!-- 数据库驱动 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
</dependency>

</dependencies>

2、application.yml文件JPA配置

#数据源配置
spring:
datasource:
url: jdbc:mysql://127.0.0.1:3306/myspbatis?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC #数据库连接
driver-class-name: com.mysql.jdbc.Driver #数据库驱动
username: root #数据库用户名
password: root #数据库密码
jpa:
show-sql: true #打印sql语句
properties:
hibernate.format_sql: true #sql格式化

3、创建实体类

/**
* 用户实体类
*/
@Entity
@Table
public class User {
@Id // 主键id
@GeneratedValue(strategy = GenerationType.IDENTITY) //主键生成策略
@Column(name = "id")
private Long id;//id 主键,自增
@Column(name = "name")
private String name;//名
@Column(name = "age")
private String age;//年龄
@Column(name = "sex")
private String sex;//性别
@Column(name = "tel")
private String tel;//号码
@Column(name = "brithday")
private Date brithday;//生日
@Column(name = "marks")
private String marks;//标记
@Column(name = "address")
private String address;//地址

/**
* getter、setter方法省略
*/

}

4、创建持久层

/**
* 继承jpa
*/
public interface UserRepository extends JpaRepository<User,Long> {//需要传入实体和主键类型
//自定义方法
List<User> findUsersByCondition(Map<String, Object> queryMap);
}

5、创建控制层

/**
* 用户控制层
*/
@RestController
public class UserController {
@Autowired
UserRepository userMapper; // 注入用户Mapper

/**
* 获取所有用户
*/
@GetMapping("/users")
public List<User> getUsers(){
List<User> users = userMapper.findAll();
return users;
}

/**
* 根据id获取用户信息
* @param id
*/
@GetMapping("/users/{id}")
public Optional<User> getUser(@PathVariable("id") Long id){
Optional<User> user = userMapper.findById(id);
return user;
}
}

6、启动应用

1)请求http://ip:port/users

springboot 整合JPA的简单示例_集成JPA简单示例_02

2)请求http://ip:port/users/id

springboot 整合JPA的简单示例_spring_03

以上是springboot 整合JPA的简单示例。