使用 IntelliJ IDEA 结合 DBeaver 连接 MySQL 数据库并实现数据增删查改的详细步骤:

以下是使用 IntelliJ IDEA 结合 DBeaver 连接 MySQL 数据库并实现数据增删查改的详细步骤:

1. 准备工作

  1. 安装和配置 MySQL :确保已安装 MySQL 数据库,并启动 MySQL 服务。记录好数据库的连接信息,如主机地址(通常是 localhost)、端口号(默认 3306)、用户名和密码。
  2. 安装 IntelliJ IDEA 和 DBeaver:从官方网站下载并安装最新版本的 IntelliJ IDEA 和 DBeaver。
  3. 创建数据库和表
    • 打开 DBeaver,连接到 MySQL 数据库。
    • 创建一个新的数据库,例如 testdb
    • testdb 数据库中创建一个示例表,例如 users,表结构如下:
sql 复制代码
CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(50) NOT NULL,
    email VARCHAR(100) NOT NULL
);

2. 在 IntelliJ IDEA 中创建项目并配置依赖

  1. 创建 Spring Boot 项目
    • 打开 IntelliJ IDEA,选择 Create New Project
    • Spring Initializr 中,选择 Maven 项目,设置 GroupArtifact,并选择合适的 Spring Boot 版本(例如 3.1.5)。
    • Dependencies 中,添加 Spring WebSpring Data JPAMySQL Driver 依赖。
  2. 配置 pom.xml :如果在创建项目时没有添加所需依赖,可以手动在 pom.xml 中添加:
xml 复制代码
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql - connector - java</artifactId>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter - test</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>

3. 配置数据库连接

  1. application.yml 中配置 :在 src/main/resources 目录下创建 application.yml 文件,并添加以下配置:
yaml 复制代码
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/testdb?useSSL=false&serverTimezone=UTC&characterEncoding=utf8
    username: your_username
    password: your_password
    driver - class - name: com.mysql.cj.jdbc.Driver
  jpa:
    hibernate:
      ddl - auto: none
    properties:
      hibernate:
        dialect: org.hibernate.dialect.MySQL8Dialect

替换 your_usernameyour_password 为实际的数据库用户名和密码。

4. 创建实体类和数据访问层

  1. 创建实体类 :在 src/main/java/com/yourpackage/entity 包下创建 User 实体类:
java 复制代码
package com.yourpackage.entity;

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 username;
    private String email;

    public User() {}

    public User(String username, String email) {
        this.username = username;
        this.email = email;
    }

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

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

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }
}
  1. 创建数据访问层接口 :在 src/main/java/com/yourpackage/repository 包下创建 UserRepository 接口,继承自 JpaRepository
java 复制代码
package com.yourpackage.repository;

import com.yourpackage.entity.User;
import org.springframework.data.jpa.repository.JpaRepository;

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

5. 创建服务层和控制器

  1. 创建服务层 :在 src/main/java/com/yourpackage/service 包下创建 UserService 类:
java 复制代码
package com.yourpackage.service;

import com.yourpackage.entity.User;
import com.yourpackage.repository.UserRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Optional;

@Service
public class UserService {

    private final UserRepository userRepository;

    @Autowired
    public UserService(UserRepository userRepository) {
        this.userRepository = userRepository;
    }

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

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

    public Optional<User> getUserById(Long id) {
        return userRepository.findById(id);
    }

    public void deleteUserById(Long id) {
        userRepository.deleteById(id);
    }
}
  1. 创建控制器 :在 src/main/java/com/yourpackage/controller 包下创建 UserController 类:
java 复制代码
package com.yourpackage.controller;

import com.yourpackage.entity.User;
import com.yourpackage.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;

import java.util.List;
import java.util.Optional;

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

    private final UserService userService;

    @Autowired
    public UserController(UserService userService) {
        this.userService = userService;
    }

    @PostMapping
    public ResponseEntity<User> saveUser(@RequestBody User user) {
        User savedUser = userService.saveUser(user);
        return new ResponseEntity<>(savedUser, HttpStatus.CREATED);
    }

    @GetMapping
    public ResponseEntity<List<User>> getAllUsers() {
        List<User> users = userService.getAllUsers();
        return new ResponseEntity<>(users, HttpStatus.OK);
    }

    @GetMapping("/{id}")
    public ResponseEntity<User> getUserById(@PathVariable Long id) {
        Optional<User> user = userService.getUserById(id);
        return user.map(value -> new ResponseEntity<>(value, HttpStatus.OK))
              .orElseGet(() -> new ResponseEntity<>(HttpStatus.NOT_FOUND));
    }

    @DeleteMapping("/{id}")
    public ResponseEntity<HttpStatus> deleteUserById(@PathVariable Long id) {
        userService.deleteUserById(id);
        return new ResponseEntity<>(HttpStatus.NO_CONTENT);
    }
}

6. 运行和测试

  1. 运行 Spring Boot 应用 :在 IntelliJ IDEA 中,右键点击 Application 类,选择 Run 启动 Spring Boot 应用。
  2. 使用工具测试接口
    • 可以使用 Postman 等工具测试增删查改接口:
      • 添加用户 :发送 POST 请求到 http://localhost:8080/users,请求体中包含用户数据,如 {"username":"testuser", "email":"test@example.com"}
      • 获取所有用户 :发送 GET 请求到 http://localhost:8080/users
      • 根据 ID 获取用户 :发送 GET 请求到 http://localhost:8080/users/{id},将 {id} 替换为实际的用户 ID。
      • 删除用户 :发送 DELETE 请求到 http://localhost:8080/users/{id},将 {id} 替换为实际的用户 ID。

同时,你也可以通过 DBeaver 直接查看数据库中的数据变化,验证增删查改操作是否成功。例如,在添加用户后,使用 DBeaver 查询 users 表,确认新用户是否插入成功。在删除用户后,再次查询表,确认用户是否已被删除。

相关推荐
中环留念16 分钟前
MySQL 索引全解析:索引类型、聚簇索引、回表与性能优化
sql·mysql·索引·图解
Gobysec24 分钟前
Goby 漏洞安全通告|MindsDB /api/sql/query 未授权访问漏洞(CVE-2025-68472)
数据库·sql·安全
m0_7482459224 分钟前
SQLite 数据类型概述
java·数据库·sqlite
五阿哥永琪26 分钟前
MySQL 回表查询 性能代价?如何避免?
数据库·mysql
DBA小马哥28 分钟前
文档型数据库MongoDB迁移替换至金仓数据库上线流程周期全解析
数据库·mongodb·文档型数据库
冰暮流星37 分钟前
sql语言之where语句
java·数据库·sql
橘子1340 分钟前
MySQL基础(一)
数据库·mysql·php
難釋懷1 小时前
安装Redis
数据库·redis·缓存
jiayong231 小时前
Word协作与审阅实用手册
服务器·数据库·word
涵涵(互关)1 小时前
添加了 @TableId(type = IdType.AUTO) 但仍生成超大 ID
数据库·spring·mybatis