下面是对“springboot整合JPA过程解析”的完整攻略。
一、JPA介绍
JPA是Java Persistence API的缩写,是JavaEE环境下的持久化框架。它的目标是提供一种简单、统一的持久化方式,使得开发人员不需要过多关注数据访问细节,只需要关注业务逻辑的实现。
二、Spring Boot整合JPA
- 创建Maven项目并添加Spring Boot及JPA依赖
在Maven项目中添加以下依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
<version>2.4.4</version>
</dependency>
- 定义实体类及JPA仓库接口
创建实体类,并使用注解标注实体类中的属性与表的映射关系。
@Entity
@Table(name = "tb_user")
public class UserEntity {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "username")
private String username;
@Column(name = "password")
private String password;
// getter, setter, toString等方法
}
创建接口,继承JpaRepository接口,可以完成一些基本的数据库的操作
public interface UserRepository extends JpaRepository<UserEntity, Long> {
UserEntity findByUsername(String username);
UserEntity findByUsernameAndPassword(String username, String password);
}
JpaRepository接口包含了很多基础的查询方法,比如findByXXX、queryByXXX等。
- 配置数据源及JPA连接属性
在application.properties中配置数据源及JPA连接属性。
spring.datasource.url=jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.password=root
# jpa配置映射文件的路径
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect
以上配置的JPA参数表示:
-
spring.jpa.hibernate.ddl-auto=update
表示 Hibernate 在启动时根据应用程序中定义的所有实体类和数据库的 schema 自动做更新(这些更新将会保存到数据库中) -
spring.jpa.show-sql=true
表示显示 Hibernate 执行的 SQL 语句 -
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect
表示指定 Hibernate 方言为 MySQL -
编写业务代码进行使用
示例1:新增用户
@Service
public class UserService {
@Autowired
private UserRepository userRepository;
public UserEntity createUser(String username, String password) {
UserEntity user = new UserEntity();
user.setUsername(username);
user.setPassword(password);
return userRepository.save(user);
}
}
示例2:根据用户名查询用户
@Service
public class UserService {
@Autowired
private UserRepository userRepository;
public UserEntity findUserByUsername(String username) {
return userRepository.findByUsername(username);
}
}
三、示例代码
戳这里查看详细的示例代码
这个示例代码展示了如何在Spring Boot中集成JPA,包含了创建实体类、创建JPA仓库接口,配置数据源及JPA连接属性,以及基本的业务实现的代码。如果想要体验一下,可以clone示例代码并运行相应的测试。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:springboot整合JPA过程解析 - Python技术站