springboot中集成JPA的大致过程

前言

Spring Boot 是基于 Spring 框架的快速开发框架,它可以简化 Java 应用程序的开发过程。JPA(Java Persistence API)是 Java 提供的一种 ORM(Object-Relational Mapping)框架,可以将 Java 对象映射到数据库中的表上。

使用方式

在 Spring Boot 中使用 JPA,需要完成以下几个步骤:

1.添加依赖

在 pom.xml 文件中添加 Spring Boot、Spring Data JPA 和相应的数据库驱动依赖。

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
    <!-- 数据库驱动依赖 -->
    <dependency>
        <groupId>com.mysql.jdbc</groupId>
        <artifactId>mysql-connector-java</artifactId>
    </dependency>
</dependencies>

2.配置数据源

在 application.properties 或者 application.yml 文件中配置数据源信息,包括数据库连接 URL、用户名、密码等。

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull
    username: root
    password: 123456

3.创建实体类

创建需要持久化的实体类,并在类上使用 @Entity 注解进行标记。

@Entity
@Table(name = "user")
@Getter
@Setter
public class User {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    private String name;

    private Integer age;
}

4.Repository 接口

创建继承 JpaRepository 的 Repository 接口,可以通过调用该接口提供的方法来实现数据库的增删改查操作。

@Repository
public interface UserRepository extends JpaRepository<User, Long> {
}

5.实现业务逻辑

在 Service 层中实现业务逻辑,并调用 Repository 中提供的方法进行数据库操作。

@Service
@Transactional(rollbackFor = Exception.class)
public class UserServiceImpl implements UserService {

    @Autowired
    private UserRepository userRepository;

    @Override
    public List<User> findAll() {
        return userRepository.findAll();
    }

    @Override
    public User findById(Long id) {
        return userRepository.findById(id).orElse(null);
    }

    @Override
    public void save(User user) {
        userRepository.save(user);
    }

    @Override
    public void deleteById(Long id) {
        userRepository.deleteById(id);
    }
}

以上就是使用 Spring Boot JPA 进行数据库操作的基本流程,通过简单的配置和编码即可完成复杂的增删改查操作。

posted @ 2023-04-23 23:14  HexThinking  阅读(111)  评论(0编辑  收藏  举报