目录

  • 一、MyBatis-Plus 是什么?
  • 二、创建项目集成 MyBatis-Plus
    • 1.项目说明
    • 2.创建 Spring Initializr 项目 mybatisplus
      • (1).添加依赖
      • (2).添加配置
      • (3).新建实体类 User
      • (4).新建 Mapper 接口类 UserMapper
      • (5).新建服务接口类 UserService
      • (6).新建服务实现类 UserServiceImpl
      • (7).新建控制类 UserController
      • (8).启动类添加注解
    • 3.创建数据库 shop 和数据表 user
    • 4.启动服务并测试

一、MyBatis-Plus 是什么?

MyBatis-Plus (简称 MP)是国人团队苞米豆在 Mybatis 的基础上开发的框架,已连续 5 年(2017、2018、2019、2020、2021获得“OSC 年度最受欢迎中国开源软件”殊荣。是一个 MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。

二、创建项目集成 MyBatis-Plus

1.项目说明

新建 Spring Initializr 项目 mybatis,项目下新建controller、entity、mapper、service类。创建 MySQL 数据库 shop,shop 下创建 user 表。项目实现读取 user 表的信息。
项目目录结构:

2.创建 Spring Initializr 项目 mybatisplus

(1).添加依赖

添加依赖,如果已按截图操作,pom.xml 还需引入 mybatis-plus-boot-starter 依赖:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.6.3</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.chaoyue</groupId><artifactId>mybatisplus</artifactId><version>0.0.1-SNAPSHOT</version><name>mybatisplus</name><description>Demo project for Spring Boot</description><properties><java.version>1.8</java.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jdbc</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.4.3.4</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><scope>runtime</scope></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><excludes><exclude><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></exclude></excludes></configuration></plugin></plugins></build></project>

(2).添加配置

application.yml 文件中添加如下配置:

server:port: 8080
spring:datasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://localhost:3306/shop?characterEncoding=utf-8&useSSL=falseusername: rootpassword: 123456

(3).新建实体类 User

为减少不必要的代码,引入 lombok 依赖。实体类代码如下:

package com.chaoyue.mybatisplus.entity;import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;@Data
public class User {@TableId(type = IdType.AUTO)private Long id; // idprivate String username; // 用户名private String password; // 密码
}

(4).新建 Mapper 接口类 UserMapper

package com.chaoyue.mybatisplus.mapper;import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.chaoyue.mybatisplus.entity.User;
import org.springframework.stereotype.Repository;@Repository
public interface UserMapper extends BaseMapper<User> {}

(5).新建服务接口类 UserService

package com.chaoyue.mybatisplus.service;import com.baomidou.mybatisplus.extension.service.IService;
import com.chaoyue.mybatisplus.entity.User;public interface UserService extends IService<User> {}

(6).新建服务实现类 UserServiceImpl

package com.chaoyue.mybatisplus.service.impl;import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.chaoyue.mybatisplus.entity.User;
import com.chaoyue.mybatisplus.mapper.UserMapper;
import com.chaoyue.mybatisplus.service.UserService;
import org.springframework.stereotype.Service;@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User>implements UserService {}

(7).新建控制类 UserController

package com.chaoyue.mybatisplus.controller;import com.chaoyue.mybatisplus.entity.User;
import com.chaoyue.mybatisplus.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;import javax.annotation.Resource;
import java.util.List;@RestController
@RequestMapping("/user")
public class UserController {@Autowiredprivate UserService userService;@RequestMapping("/getAll")public String getAll() {List<User> list = userService.list();return list.toString();}@RequestMapping("/insert")public String insert() {User user = new User();user.setUsername("mybatisplus");user.setPassword("123456");userService.save(user);return getAll();}
}

(8).启动类添加注解

启动类添加注解 @MapperScan(“com.chaoyue.mybatisplus.mapper”)

package com.chaoyue.mybatisplus;import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
@MapperScan("com.chaoyue.mybatisplus.mapper")
public class MybatisplusApplication {public static void main(String[] args) {SpringApplication.run(MybatisplusApplication.class, args);}}

3.创建数据库 shop 和数据表 user

-- ----------------------------
-- Table structure for user
-- ----------------------------
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user`  (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id',`username` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '用户名',`password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '密码',PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户表' ROW_FORMAT = Dynamic;-- ----------------------------
-- Records of user
-- ----------------------------
INSERT INTO `user` VALUES (1, 'admin', 'admin');
INSERT INTO `user` VALUES (2, 'test', '123456');SET FOREIGN_KEY_CHECKS = 1;

4.启动服务并测试

启动服务后,浏览器输入:http://localhost:8080/user/getAll,返回:

浏览器输入:http://localhost:8080/user/insert,返回:

PS:MyBatis-Plus 官网链接:https://baomidou.com/

【SpringBoot深入浅出系列】SpringBoot之集成MyBatis-Plus相关推荐

  1. 【SpringBoot深入浅出系列】SpringBoot之实现支付宝扫码支付(沙箱环境编码实现)

    目录 一.准备工作 1.应用 APPID 2.商户私钥,即应用私钥 3.支付宝公钥 4.签名方式 5.字符编码格式 6.支付宝网关 二.沙箱环境编码实现 1.项目说明 2.创建 Spring Init ...

  2. idea springboot web项目创建并集成mybatis+springmvc(二)

    完整项目下载地址:https://download.csdn.net/download/qq_34288630/10519597 springboot项目创建步骤:https://blog.csdn. ...

  3. SpringBoot 精通系列-SpringBoot整合Redis的常用操作

    导语   在之前的博客中介绍过关于Memcache的使用,这篇文章中主要介绍关于Redis的有关概念及如何与SpringBoot整合使用.   首先Redis是目前使用最为广泛的缓存中间件,相比较Me ...

  4. 【SpringBoot深入浅出系列】SpringBoot之实现支付宝扫码支付(开发前准备)

    目录 一.平台入驻 1.入驻准备 2.整体流程 二.创建应用 1.创建应用 2.添加应用功能 3.配置应用环境 4.设置 接口加签方式(密钥/证书) 5.生成密钥和配置接口加签方式 6.提交审核 三. ...

  5. 【SpringBoot深入浅出系列】SpringBoot之调用腾讯云短信接口发送短信

    目录 一.开发前准备 1.创建签名 2.创建正文模板管理 3.创建应用 4.创建secretId和secretKey 二.开发 1.创建 Spring Initializr 项目 tengxunsms ...

  6. SpringBoot 精通系列-SpringBoot如何操作Memcache

    导语   随着公司的业务速度的提高,数据持久化的问题就凸显出来,很多的场景下使用的是缓存技术来解决请求数据库的压力,这种也是缓存技术使用最多的场景之一,当然在高并发.分布式Session场景下,也会使 ...

  7. MyBatis系列之--Java 项目(非SpringBoot)集成MyBatis

    MyBatis系列之--Java 项目(非SpringBoot)集成MyBatis 对MyBatis简单介绍 核心接口SqlSessionFactory 实战 1. Maven创建Java项目 2. ...

  8. SpringBoot集成Mybatis项目实操

    本文为<从零打造项目>系列第三篇文章,首发于个人网站. <从零打造项目>系列文章 比MyBatis Generator更强大的代码生成器 SpringBoot项目基础设施搭建 ...

  9. springboot集成swagger2多模块中文配置详细步骤,解决集成mybatis或mybatis-plus无法正常使用问题

    springboot集成swagger2多模块中文配置详细步骤,解决集成mybatis或mybatis-plus无法正常使用问题 参考文章: (1)springboot集成swagger2多模块中文配 ...

最新文章

  1. 科学家发现新的人类脑细胞,或可解答一个难题
  2. 解决docker(ERROR: No such container: )错误
  3. Alpine?Distroless?Busybox?到底谁才是容器镜像的瑞士军刀?
  4. STM32开发 -- 主天线和分集天线
  5. 创建可扩展性系统-4
  6. 基于《河北省重大技术需求征集系统》的可用性和可修改性战术分析
  7. SVG与CSS的特殊性
  8. python最好用的IDE及查看源码的方法
  9. 数字图像处理-图像复原
  10. sqldependency 的使用
  11. python制作烟花特效_过大年,用Python去绽放最绚丽的烟花
  12. mac抓包工具charles破解版安装及简单使用
  13. PWM波转DC直流之二阶RC低通滤波器设计
  14. MatConvNet安装问题
  15. 可视化大屏设计尺寸_数据可视化大屏设计尺寸怎么定?
  16. 大数据分析应用的机遇与挑战
  17. 基于Outline构建团队的知识库 (上篇)
  18. list to torch
  19. ptb同一屏呈现两张图片matlab,PTB-3 安装手册
  20. 广告设计网站制作怎么做?

热门文章

  1. win10自动修复重启失败,无法进入桌面,解决办法
  2. 56-OvR 和 OvO
  3. ValueError: decision_function_shape must be either ‘ovr‘ or ‘ovo‘, got None.
  4. 3款大数据bi工具,让企业数据分析更简单
  5. E. Jumpy Robot(枚举题)
  6. redis实战第七篇 使用redis工具(redis-cli)搭建redis cluster
  7. SVG文档:使用SVG 编程(转自IBM文档库)
  8. 如何创建WordPress登陆页面模板
  9. 从春招到秋招,一个本科生的求职之路
  10. 网页点名器(移动端、pc端)