📜  Spring Boot JDBC示例(1)

📅  最后修改于: 2023-12-03 14:47:32.725000             🧑  作者: Mango

Spring Boot JDBC 示例

Spring Boot 提供了强大的 JDBC 支持,使数据库访问变得更加简单和高效。通过 Spring Boot 的自动配置和约定优于配置的原则,你可以轻松地进行数据库连接、数据访问和持久化操作。

本示例将演示如何在 Spring Boot 中使用 JDBC 进行数据库操作。

准备工作

在开始之前,确保已经完成以下准备工作:

  1. 安装 Java Development Kit(JDK)并设置好环境变量。
  2. 安装并配置好数据库,例如 MySQL、PostgreSQL 或者 H2。
导入依赖

首先,在你的项目中添加 spring-boot-starter-data-jpa 依赖项。在 pom.xml 文件中添加以下内容:

<dependencies>
    <!-- 其他依赖项 -->
    
    <!-- Spring Boot JDBC 依赖 -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
</dependencies>
配置数据库连接

接下来,配置数据库连接。在 application.properties 文件中添加以下内容:

# 数据源配置
spring.datasource.url=jdbc:mysql://localhost:3306/mydatabase
spring.datasource.username=username
spring.datasource.password=password
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

# JPA 配置
spring.jpa.show-sql=true
spring.jpa.properties.hibernate.format_sql=true
spring.jpa.hibernate.ddl-auto=update

请将上述配置项中的 mydatabaseusernamepassword 替换为你的实际数据库名称、用户名和密码。

创建实体类

在开始进行数据库操作之前,首先创建一个实体类。例如,我们创建一个名为 User 的实体类:

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;

@Entity
public class User {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    
    private String name;
    private int age;
    
    // 省略构造函数、getter 和 setter
}

在上述示例中,我们使用了 JPA 注解 @Entity 来标识该类是一个实体类,@Id 注解表示主键字段,@GeneratedValue 注解用于生成主键。

创建数据访问类

接下来,创建一个数据访问类用于执行数据库操作。例如,我们创建一个名为 UserRepository 的类:

import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

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

在上述示例中,我们继承了 JpaRepository 接口,并指定了实体类 User 和主键类型 Long

执行数据库操作

现在,我们已经完成了所有的准备工作,并且可以开始执行数据库操作了。以下是一些示例代码:

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.CommandLineRunner;

@SpringBootApplication
public class Application implements CommandLineRunner {

    @Autowired
    private UserRepository userRepository;

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }

    @Override
    public void run(String... args) throws Exception {
        // 插入数据
        User user = new User();
        user.setName("John Doe");
        user.setAge(30);
        userRepository.save(user);

        // 查询数据
        User savedUser = userRepository.findById(1L).orElse(null);
        System.out.println(savedUser);

        // 更新数据
        if (savedUser != null) {
            savedUser.setAge(35);
            userRepository.save(savedUser);
        }

        // 删除数据
        if (savedUser != null) {
            userRepository.delete(savedUser);
        }
    }
}

在上述示例中,我们通过注入 UserRepository 对象来执行数据库操作。首先,我们插入了一条新的用户数据,然后通过主键查询该用户,并对其进行更新和删除操作。

运行应用程序

最后,编译并运行应用程序。你可以使用命令行或者集成开发环境(IDE)来运行你的 Spring Boot 应用程序。

$ mvn spring-boot:run
总结

通过 Spring Boot JDBC 示例,我们演示了如何在 Spring Boot 中使用 JDBC 进行数据库操作。你可以根据具体需求扩展该示例,并使用 Spring Boot 提供的便利特性来简化数据库访问和持久化操作。

希望本示例对你有所帮助!