Spring boot 整合mybatis-plus

Spring Boot 整合 MyBatis-Plus 是一个非常常见的需求,因为 MyBatis-Plus 在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。下面是一个简单的步骤指南来帮助你在 Spring Boot 应用中整合 MyBatis-Plus。

1. 添加依赖

首先,在 pom.xml 文件中添加 MyBatis-Plus 和 Spring Boot 的依赖。

XML 复制代码
  <dependencies>

    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
    </dependency>


    <dependency>
      <groupId>com.mysql</groupId>
      <artifactId>mysql-connector-j</artifactId>
      <version>8.2.0</version>
    </dependency>

    <dependency>
      <groupId>com.baomidou</groupId>
      <artifactId>mybatis-plus-spring-boot3-starter</artifactId>
      <version>3.5.9</version>
    </dependency>


    <dependency>
      <groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
      <optional>true</optional>
    </dependency>

  </dependencies>

2. 配置数据库连接

application.yml 中配置数据库连接信息。

java 复制代码
spring:
  application:
    name: ncc
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/ncc?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=UTC
    username: root
    password: root

3. 创建实体类

根据数据库表结构创建对应的实体类。MyBatis-Plus 支持自动映射字段,所以通常情况下只需要关注实体类的定义。

java 复制代码
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.experimental.Accessors;

@TableName("users")
@Data
@Accessors(chain = true)
public class User {

	@TableId
	private Long id;
	private String username;
	private String password;

}

4. 创建 Mapper 接口

创建一个继承自 BaseMapper 的接口,该接口提供了丰富的 CRUD 操作。

java 复制代码
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.demo.ncc.model.User;
import org.apache.ibatis.annotations.Mapper;

@Mapper
public interface UserMapper extends BaseMapper<User> {

}

5. 创建service,使用 Mapper

在你的 Service 类中注解注入 Mapper,并使用它来进行数据操作。

java 复制代码
import com.demo.ncc.mapper.UserMapper;
import com.demo.ncc.model.User;
import java.util.List;
import java.util.UUID;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;

@Service
@RequiredArgsConstructor
public class UserService {

	private final UserMapper userMapper;

	public List<User> getUserList() {
		return userMapper.selectList(null);
	}

	public void insert() {
		User user = new User();
		user.setUsername(UUID.randomUUID().toString()).setPassword("123");
		userMapper.insert(user);
	}

}

6,创建controller,提供接口访问

java 复制代码
import com.demo.ncc.model.User;
import com.demo.ncc.service.UserService;
import java.util.List;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

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

	private final UserService userService;

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

	@GetMapping("/add")
	public String add() {
		userService.insert();
		return "success";
	}

}

7,启动类添加@MapperScan扫描,包路径为UserMapper路径

java 复制代码
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
@MapperScan("com.demo.ncc.mapper")
public class NccApplication {
	public static void main(String[] args) {
		SpringApplication.run(NccApplication.class, args);
	}
}

8,运行代码

先访问add,在数据库添加数据

http://localhost:8080/user/add

再访问list

http://localhost:8080/user/list

完美

相关推荐
哈哈老师啊15 小时前
Springboot简单二手车网站qs5ed(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·spring boot·后端
SadSunset15 小时前
(19)Bean的循环依赖问题
java·开发语言·前端
⑩-15 小时前
Java自定义业务异常类
java
Adellle15 小时前
Java爬虫入门(2/5)
java·爬虫
JIngJaneIL15 小时前
基于Java+ vue图书管理系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot·后端
Github掘金计划15 小时前
开发者狂喜!GitHub 官方开源:支持 Copilot/Cursor,规范即代码,27k Star 封神!
java·python·kafka·github·copilot
Wpa.wk15 小时前
自动化测试-鼠标+键盘操作 - Actions高级控件
java·开发语言·测试工具·自动化·计算机外设·actions·高级控件
VX:Fegn089515 小时前
计算机毕业设计|基于springboot + vue考勤管理系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
g***B73815 小时前
Java 的第三次跃迁:从企业级语言走向智能时代的通用计算引擎
java·开发语言
一 乐15 小时前
幼儿园管理|基于springboot + vue幼儿园管理系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端