0


Spring Boot 和 MyBatis-Plus凑一块儿了,这份教程你得看

一、引言

MyBatis-Plus 是 MyBatis 的增强版,提供了 CRUD 接口、分页插件、性能分析插件等特性,简化了开发过程。本文将详细介绍如何在 Spring Boot 项目中集成 MyBatis-Plus。

支持的数据看也越来越多,值得去搞一下,写了一个小例子

二、环境准备
  1. JDK 8 或以上版本
  2. Maven 3.8或以上版本
  3. IntelliJ IDEA 或其他开发工具
  4. MySQL 数据库
三、创建 Spring Boot 项目

使用 Spring Initializr 创建一个基本的 Spring Boot 项目,并选择如下依赖:

  • Spring Web
  • MyBatis-Plus
  • MySQL Driver
  • Lombok(idea中也得安装lombok对应插件)
示例:

可以通过访问 Spring Initializr 在线生成项目或者阿里的也行(https://start.aliyun.com/bootstrap.html),个人比较喜欢用页面的方式,也可以在 IDEA 中直接创建。

四、添加依赖

pom.xml

件中添加 MyBatis-Plus 的相关依赖:

<dependencies><!-- Spring Boot Starter --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency><!-- Spring Boot Starter Web --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!-- MyBatis-Plus Starter --><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.5.4</version></dependency><!-- MySQL Connector --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><scope>runtime</scope></dependency><!-- Spring Boot Starter Test --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies>
五、配置数据库连接初始化数据

建表语句:

-- test.`user` definition 创建一个test库CREATETABLE`user`(`id`bigintDEFAULTNULLCOMMENT'id',`name`varchar(255)COLLATE utf8mb4_unicode_ci DEFAULTNULLCOMMENT'名称',`age`intDEFAULTNULLCOMMENT'年龄',`email`varchar(100)COLLATE utf8mb4_unicode_ci DEFAULTNULLCOMMENT'邮件')ENGINE=InnoDBDEFAULTCHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='用户表';INSERTINTO test.`user`(id,name,age,email)VALUES(1,'yuanmomo',18,'[email protected]'),(2,'eefsfsdf',23,'[email protected]');

src/main/resources

目录下创建

application.yml

文件,配置数据库连接信息:

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/your_database_name?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
    username: your_username
    password: your_password
 
mybatis-plus:
  mapper-locations: classpath:/mapper/*.xml
  type-aliases-package: com.yuanmomo.demo.entity
六、创建实体类

src/main/java/com/yuanmomo/demo/entity

目录下创建实体类,例如

User.java

packagecom.yuanmomo.demo.entity;importcom.baomidou.mybatisplus.annotation.TableId;importcom.baomidou.mybatisplus.annotation.TableName;importlombok.Data;@Data@TableName("user")publicclassUser{/**
     * id
     */@TableIdprivateLong id;/**
     * 姓名
     */privateString name;/**
     * 年龄
     */privateInteger age;/**
     * 邮件
     */privateString email;}
七、创建 Mapper 接口

src/main/java/com/yuanmomo/demo/mapper

目录下创建 Mapper 接口,例如

UserMapper.java

packagecom.yuanmomo.demo.mapper;importcom.baomidou.mybatisplus.core.mapper.BaseMapper;importcom.yuanmomo.demo.entity.User;importorg.apache.ibatis.annotations.Mapper;@MapperpublicinterfaceUserMapperextendsBaseMapper<User>{}
八、创建 Service 层

src/main/java/com/yuanmomo/demo/service

目录下创建服务接口和实现类:

服务接口
UserService.java

packagecom.yuanmomo.demo.service;importcom.baomidou.mybatisplus.extension.service.IService;importcom.yuanmomo.demo.entity.User;publicinterfaceUserServiceextendsIService<User>{}

服务实现类

UserServiceImpl.java

packagecom.yuanmomo.demo.service.impl;importcom.baomidou.mybatisplus.extension.service.impl.ServiceImpl;importcom.yuanmomo.demo.entity.User;importcom.yuanmomo.demo.mapper.UserMapper;importcom.yuanmomo.demo.service.UserService;importorg.springframework.stereotype.Service;@ServicepublicclassUserServiceImplextendsServiceImpl<UserMapper,User>implementsUserService{}
九、创建 Controller 层

src/main/java/com/yuanmomo/demo/controller

目录下创建控制器类

UserController.java

packagecom.yuanmomo.demo.controller;importcom.baomidou.mybatisplus.core.conditions.query.QueryWrapper;importcom.yuanmomo.demo.entity.User;importcom.yuanmomo.demo.service.UserService;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.web.bind.annotation.*;importjava.util.List;@RestController@RequestMapping("/user")publicclassUserController{@AutowiredprivateUserService userService;@GetMapping("/list")publicList<User>list(){return userService.list();}@PostMapping("/add")publicbooleanadd(@RequestBodyUser user){return userService.save(user);}@PutMapping("/update")publicbooleanupdate(@RequestBodyUser user){return userService.updateById(user);}@DeleteMapping("/delete/{id}")publicbooleandelete(@PathVariableLong id){return userService.removeById(id);}}
十、编写 Mapper XML 文件

src/main/resources/mapper

目录下创建UserMapper.xml`文件:

<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPEmapperPUBLIC"-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mappernamespace="com.yuanmomo.demo.mapper.UserMapper"><resultMapid="BaseResultMap"type="com.yuanmomo.demo.entity.User"><idcolumn="id"property="id"/><resultcolumn="name"property="name"/><resultcolumn="age"property="age"/><resultcolumn="email"property="email"/></resultMap><sqlid="Base_Column_List">
    id, name, age, email
  </sql><selectid="selectAll"resultMap="BaseResultMap">
    SELECT <includerefid="Base_Column_List"/>
    FROM user
  </select></mapper>
十一、运行项目

确保数据库配置正确后,启动 Spring Boot 应用。访问

http://localhost:8080/user/list

应该能看到用户列表。

十二、总结

通过以上步骤,我们完成了 Spring Boot 项目与 MyBatis-Plus 的集成。MyBatis-Plus 简化了大量繁琐的 CRUD 操作,提高了开发效率。通过结合 Spring Boot 的强大功能,我们可以更快速地构建高效、稳定的企业级应用。

附:完整项目结构
src
├── main
│   ├── java
│   │   └── com
│   │       └── yuanmomo
│   │           └── demo
│   │               ├── controller
│   │               │   └── UserController.java
│   │               ├── entity
│   │               │   └── User.java
│   │               ├── mapper
│   │               │   └── UserMapper.java
│   │               ├── service
│   │               │   ├── UserService.java
│   │               │   └── impl
│   │               │       └── UserServiceImpl.java
│   │               └── DemoApplication.java
│   ├── resources
│   │   ├── application.yml
│   │   └── mapper
│   │       └── UserMapper.xml
│   └── test
│       └── java
│           └── com
│               └── yuanmomo
│                   └── demo
│                       └── DemoApplicationTests.java
└── pom.xml
标签: java

本文转载自: https://blog.csdn.net/yuanmomoya/article/details/142665234
版权归原作者 救救孩子把 所有, 如有侵权,请联系我们删除。

“Spring Boot 和 MyBatis-Plus凑一块儿了,这份教程你得看”的评论:

还没有评论