显示 / 隐藏 文章目录 ]

Springcloud 兼容Mybitas

上次更新: 2024-12-31 16:20:00

UP:[[技术积累概况]]

1. 背景


2. 内容

在 Spring Cloud 项目中兼容 MyBatis,您可以采用 MyBatis-Plus,它是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。MyBatis-Plus 提供了许多开箱即用的功能,如自动 CRUD、通用 Mapper、公共字段自动填充等。
下面是将 MyBatis-Plus 集成到 Spring Cloud 项目的步骤:

  1. 添加依赖
    在 pom.xml 文件中添加 MyBatis-Plus 的依赖。确保您使用的是与 Spring Cloud 版本兼容的 MyBatis-Plus 版本。
<dependencies>
    <!-- MyBatis Plus 核心依赖 -->
    <dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus-boot-starter</artifactId>
        <version>3.5.3</version> <!-- 确保使用与Spring Boot版本兼容的版本 -->
    </dependency>

    <!-- MySQL 连接器 -->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.26</version>
    </dependency>

    <!-- Spring Boot Starter Data JPA 可选,用于兼容Spring Data JPA的特性 -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>

    <!-- Spring Boot Starter Web -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <!-- Spring Cloud 相关依赖 -->
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
    </dependency>
</dependencies>
  1. 配置数据库
    在 application.yml 或 application.properties 文件中配置数据库连接信息。
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/testdb?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC
    username: root
    password: password
    driver-class-name: com.mysql.cj.jdbc.Driver

mybatis-plus:
  mapper-locations: classpath:mapper/*.xml
  global-config:
    db-config:
      logic-delete-value: 1 # 逻辑已删除值(默认为1)
      logic-not-delete-value: 0 # 逻辑未删除值(默认为0)
  configuration:
    map-underscore-to-camel-case: true
  1. 创建实体类
    创建一个简单的实体类,例如 User。
package com.example.entity;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

@Data
@TableName("user")
public class User {
    @TableId
    private Long id;
    private String name;
    private Integer age;
}
  1. 创建 Mapper 接口
    创建一个继承自 BaseMapper 的 Mapper 接口。
package com.example.mapper;

import com.example.entity.User;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;

public interface UserMapper extends BaseMapper<User> {
}
  1. 创建 Service 接口和实现
    创建 Service 接口和实现,通常使用 MyBatis-Plus 自动生成的方法。
package com.example.service;

import com.example.entity.User;
import com.baomidou.mybatisplus.extension.service.IService;

public interface UserService extends IService<User> {
}

package com.example.service.impl;

import com.example.entity.User;
import com.example.mapper.UserMapper;
import com.example.service.UserService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;

@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
}
  1. 创建 Controller
    创建一个 REST 控制器来处理 HTTP 请求。
package com.example.controller;

import com.example.entity.User;
import com.example.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

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

    private final UserService userService;

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

    @PostMapping
    public User save(@RequestBody User user) {
        userService.save(user);
        return user;
    }
}
  1. 应用启动类
    创建一个 Spring Boot 应用的启动类。
package com.example;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;

@SpringBootApplication
@EnableDiscoveryClient
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

完成上述步骤后,您就可以在 Spring Cloud 项目中使用 MyBatis-Plus 进行数据库操作了。记得根据您的实际情况调整数据库配置和实体类字段。


在路上 🦕

目录

隐藏目录 ]
  1. 1. 1. 背景
  2. 2. 2. 内容