使用 Spring Boot 用代码创建 MySQL 表

在现代应用开发中,Spring Boot 已成为 Java 社区中最受欢迎的框架之一。它的自动配置和开箱即用的特性使得开发 RESTful API 和微服务变得更加简单。本文将介绍如何通过 Spring Boot 使用代码创建 MySQL 数据库表。

一、项目配置

首先,我们需要创建一个 Spring Boot 项目。在 [Spring Initializr]( 上选择以下依赖项:

  • Spring Web
  • Spring Data JPA
  • MySQL Driver

生成项目并下载后,我们可以使用 IDE 导入该项目。

接下来,在 application.properties 文件中配置数据库连接信息:

spring.datasource.url=jdbc:mysql://localhost:3306/你的数据库名称?useSSL=false&serverTimezone=GMT%2B8
spring.datasource.username=你的用户名
spring.datasource.password=你的密码
spring.jpa.hibernate.ddl-auto=create
spring.jpa.show-sql=true

此处,spring.jpa.hibernate.ddl-auto=create 表示每次应用启动时都会创建表格。

二、创建实体类

接下来,我们可以创建一个实体类,例如 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 String email;

    // Getters 和 Setters
    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }
}

在上面的代码中,@Entity 注解表明该类是一个 JPA 实体,@Id 表示主键,@GeneratedValue 表示主键的生成策略。

三、创建 Repository 接口

User 实体创建一个 Repository 接口,这样我们就可以使用 JPA 提供的 CRUD 操作:

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

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

这个接口将自动提供基本的 CRUD 方法,如 save()findById()findAll() 等。

四、创建服务层

在服务层中,我们可以通过注入 UserRepository 来实现业务逻辑,例如添加用户:

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class UserService {
    
    @Autowired
    private UserRepository userRepository;

    public User saveUser(User user) {
        return userRepository.save(user);
    }

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

五、创建控制器

最后,我们将通过控制层暴露 RESTful API,以便与用户进行交互:

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
@RequestMapping("/api/users")
public class UserController {
    
    @Autowired
    private UserService userService;

    @PostMapping
    public User createUser(@RequestBody User user) {
        return userService.saveUser(user);
    }

    @GetMapping
    public List<User> getAllUsers() {
        return userService.getAllUsers();
    }
}

结尾

至此,我们已经成功创建了一个简单的 Spring Boot 应用,通过代码在 MySQL 中创建了一个用户表。只需简单配置和少量代码,就能迅速实现数据持久化功能。这为我们今后的项目打下了良好的基础。希望本文能让你对使用 Spring Boot 创建 MySQL 表有一个清晰的理解。如果你对此有进一步的疑问,欢迎随时交流!