当前位置: 首页 > news >正文

使用 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,表结构如下:
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 中添加:
<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 文件,并添加以下配置:
spring:datasource:url: jdbc:mysql://localhost:3306/testdb?useSSL=false&serverTimezone=UTC&characterEncoding=utf8username: your_usernamepassword: your_passworddriver - class - name: com.mysql.cj.jdbc.Driverjpa:hibernate:ddl - auto: noneproperties:hibernate:dialect: org.hibernate.dialect.MySQL8Dialect

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

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

  1. 创建实体类:在 src/main/java/com/yourpackage/entity 包下创建 User 实体类:
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 Setterspublic 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
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 类:
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;@Autowiredpublic 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 类:
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;@Autowiredpublic UserController(UserService userService) {this.userService = userService;}@PostMappingpublic ResponseEntity<User> saveUser(@RequestBody User user) {User savedUser = userService.saveUser(user);return new ResponseEntity<>(savedUser, HttpStatus.CREATED);}@GetMappingpublic 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 表,确认新用户是否插入成功。在删除用户后,再次查询表,确认用户是否已被删除。

http://www.dtcms.com/a/490087.html

相关文章:

  • 零知IDE——基于STM32F407VET6和ESP-01的SHT2X温湿度监测与云传输系统
  • 记一次生产服务器磁盘I/O性能瓶颈与负载过高分析与处理
  • MEMS加速度计深度解析:从智能手机到结构健康监测
  • LLMs-from-scratch(dataloader)
  • 兴义哪有做网站婚纱影楼网站源码
  • C++_394_tableWidget控件,两种模式,1、行显示模式 2、网格显示模式
  • MyBatis拦截器实现saas租户同库同表数据隔离
  • 求n以内最大的k个素数以及它们的和
  • 手机 网站建设在线自动取名网站怎么做
  • PHP电动汽车租赁管理系统-计算机毕业设计源码35824
  • 零基础新手小白快速了解掌握服务集群与自动化运维(十二)Python3编程之python基础
  • 大型网站怎样做优化PHP营销推广的主要方法
  • 【泛3C篇】AI深度学习在手机前/后摄像头外观缺陷检测应用方案
  • 建设网站需要申请网站建设与管理专业好找工作吗
  • 绿色在线网站模板下载工具别人做的网站不能用怎么办
  • Initiater for mac 小巧的菜单栏OCR工具
  • ntfs可以用在mac上吗?3 种实用方案,解决Mac与NTFS硬盘兼容问题
  • 数据结构——二十、树与森林的遍历
  • 洛杉矶服务器常见问题汇总与解决方案大全
  • Linux云计算基础篇(27)-NFS网络文件系统
  • Mac安装使用Gradle
  • 夜莺监控设计思考(二)边缘机房架构思考
  • AI+大数据时代:时序数据库的架构革新与生态重构
  • 【记录】MAC本地微调大模型(MLX + Qwen2.5)并利用Ollama接入项目实战
  • wordpress 导购站模板接私活app有哪些平台
  • 有哪些网站可以做推广十大奢侈品牌logo图片
  • 服务注册 / 服务发现 - Eureka
  • 2025机器人自动化打磨抛光设备及汽车零件打磨新技术10月应用解析
  • bk7258 libzip崩溃之解决
  • 【Android】【底层机制】组件生命周期以及背后的状态管理