使用 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 表,确认新用户是否插入成功。在删除用户后,再次查询表,确认用户是否已被删除。

相关推荐
b78gb5 小时前
电商秒杀系统设计 Java+MySQL实现高并发库存管理与订单处理
java·开发语言·mysql
奥尔特星云大使5 小时前
CentOS 7 安装 MySQL 8
mysql·centos·mysql 8
lang201509286 小时前
MySQL FIPS模式:安全合规全解析
mysql
一只叫煤球的猫8 小时前
建了索引还是慢?索引失效原因有哪些?这10个坑你踩了几个
后端·mysql·性能优化
呼哧呼哧.8 小时前
Spring的核心思想与注解
数据库·sql·spring
21号 19 小时前
9.Redis 集群(重在理解)
数据库·redis·算法
爬山算法9 小时前
Redis(73)如何处理Redis分布式锁的死锁问题?
数据库·redis·分布式
嘗_9 小时前
sql特训
数据库·sql
wan5555cn10 小时前
周末之美:慢下来,拥抱生活的温柔
数据库