Spring Boot3+ Maven项目中连接使用MySQL8+数据库

一、引言
MySQL 是一个广泛使用的开源关系型数据库,而 Spring Boot 则是一个流行的 Java 框架,提供了快速构建生产级别的独立 Spring 应用的能力。将 MySQL 与 Spring Boot 集成,可以轻松地管理应用的数据存储。本文将介绍如何在 Spring Boot 项目中配置和使用 MySQL 数据库。

二、环境准备
1. 安装 JDK17+版本

首先,确保你的系统上已经安装了 Java。你可以从Java官网下载安装Java。如果你已经安装了,可以通过以下命令检查Java检查安装是否成功:

win+r 输入cmd 

java  --version

2. 安装 MySQL 8 + 版本

首先,确保你的系统上已经安装了 MySQL。你可以从MySQL 官方网站下载并安装 MySQL。如果你已经安装好了,可以通过以下命令检查 MySQL 服务是否正在运行:

sc query 服务名称(例如:sc query mysql80)

3.安装SpringBoot3+项目适配的Maven版本。
确保你的系统上已经安装了并更改了Maven配置。你可以从Maven下载地址下载安装Maven,并修改Maven主路径和用户设置文件已经本地仓库路径。找到你安装的Maven路径并打开 \conf\settings.xml  文件,修改为阿里云镜像。

<mirror>
   <id>aliyunmaven</id>
   <mirrorOf>*</mirrorOf>
   <name>阿里云公共仓库</name>
   <url>https://maven.aliyun.com/repository/public</url>
</mirror>

4.添加 MySQL 依赖

在创建的项目中,打开  pom.xml  文件,确认已经包含以下 MySQL 依赖:

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.31</version>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
    <groupId>jakarta.persistence</groupId>
    <artifactId>jakarta.persistence-api</artifactId>
    <version>3.1.0</version>
</dependency>

5.配置 MySQL 数据库连接

在  src\main\resources 目录下的 application.properties 文件中,添加数据库连接配置:
 

spring.application.name=byte-harbour-java17
spring.datasource.url=jdbc:mysql://localhost:3306/数据库名称?serverTimezone=UTC
spring.datasource.username=用户名
spring.datasource.password=密码
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true

6.创建实体类和数据访问层、编写服务层和控制器

①. 创建实体类

 src/main/java/com/example/demo 目录下创建一个 model 包,并在其中创建一个名为 User 的实体类:

package com.example.demo.model;

import jakarta.persistence.*;

import java.util.Objects;

@Entity
@Table(name = "user-info")  // 指定表名为 my_users(默认是 user)
public class User {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    private String name;

    // Getters and 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;
    }

    @Override
    public boolean equals(Object o) {
        if (o == null || getClass() != o.getClass()) return false;
        User user = (User) o;
        return Objects.equals(id, user.id) && Objects.equals(name, user.name);
    }

    @Override
    public int hashCode() {
        return Objects.hash(id, name);
    }
}
②. 创建数据访问接口

接下来,在 src/main/java/com/example/demo 目录下创建一个 repository 包,并在其中创建一个名为 UserRepository 的接口:

package com.example.demo.repository;

import com.example.demo.model.User;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

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

③.创建服务层

 src/main/java/com/example/demo 目录下创建一个 service 包,并在其中创建一个名为 UserService 的类:

package com.example.demo.service;

import com.example.demo.model.User;
import com.example.demo.repository.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 List<User> getAllUsers() {
        return userRepository.findAll();
    }

    public void saveUser(User user) {
        userRepository.save(user);
    }
}
④. 创建控制器

最后,在 src/main/java/com/example/demo 目录下创建一个 controller 包,并在其中创建一个名为 UserController 的类:

package com.example.demo.controller;

import com.example.demo.model.User;
import com.example.demo.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
@RequestMapping("/user")
public class UserController {

    @Autowired
    private UserService userService;

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

    @PostMapping("addUser")
    public void createUser(@RequestBody User user) {
        userService.saveUser(user);
    }
}

7.运行项目

打开网页 http://localhost:8080/user/list (默认8080端口),查看数据库数据是否查询成功。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值