【SpringBoot深入浅出系列】SpringBoot之集成MyBatis-Plus
目录
- 一、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相关推荐
- 【SpringBoot深入浅出系列】SpringBoot之实现支付宝扫码支付(沙箱环境编码实现)
目录 一.准备工作 1.应用 APPID 2.商户私钥,即应用私钥 3.支付宝公钥 4.签名方式 5.字符编码格式 6.支付宝网关 二.沙箱环境编码实现 1.项目说明 2.创建 Spring Init ...
- idea springboot web项目创建并集成mybatis+springmvc(二)
完整项目下载地址:https://download.csdn.net/download/qq_34288630/10519597 springboot项目创建步骤:https://blog.csdn. ...
- SpringBoot 精通系列-SpringBoot整合Redis的常用操作
导语 在之前的博客中介绍过关于Memcache的使用,这篇文章中主要介绍关于Redis的有关概念及如何与SpringBoot整合使用. 首先Redis是目前使用最为广泛的缓存中间件,相比较Me ...
- 【SpringBoot深入浅出系列】SpringBoot之实现支付宝扫码支付(开发前准备)
目录 一.平台入驻 1.入驻准备 2.整体流程 二.创建应用 1.创建应用 2.添加应用功能 3.配置应用环境 4.设置 接口加签方式(密钥/证书) 5.生成密钥和配置接口加签方式 6.提交审核 三. ...
- 【SpringBoot深入浅出系列】SpringBoot之调用腾讯云短信接口发送短信
目录 一.开发前准备 1.创建签名 2.创建正文模板管理 3.创建应用 4.创建secretId和secretKey 二.开发 1.创建 Spring Initializr 项目 tengxunsms ...
- SpringBoot 精通系列-SpringBoot如何操作Memcache
导语 随着公司的业务速度的提高,数据持久化的问题就凸显出来,很多的场景下使用的是缓存技术来解决请求数据库的压力,这种也是缓存技术使用最多的场景之一,当然在高并发.分布式Session场景下,也会使 ...
- MyBatis系列之--Java 项目(非SpringBoot)集成MyBatis
MyBatis系列之--Java 项目(非SpringBoot)集成MyBatis 对MyBatis简单介绍 核心接口SqlSessionFactory 实战 1. Maven创建Java项目 2. ...
- SpringBoot集成Mybatis项目实操
本文为<从零打造项目>系列第三篇文章,首发于个人网站. <从零打造项目>系列文章 比MyBatis Generator更强大的代码生成器 SpringBoot项目基础设施搭建 ...
- springboot集成swagger2多模块中文配置详细步骤,解决集成mybatis或mybatis-plus无法正常使用问题
springboot集成swagger2多模块中文配置详细步骤,解决集成mybatis或mybatis-plus无法正常使用问题 参考文章: (1)springboot集成swagger2多模块中文配 ...
最新文章
- 科学家发现新的人类脑细胞,或可解答一个难题
- 解决docker(ERROR: No such container: )错误
- Alpine?Distroless?Busybox?到底谁才是容器镜像的瑞士军刀?
- STM32开发 -- 主天线和分集天线
- 创建可扩展性系统-4
- 基于《河北省重大技术需求征集系统》的可用性和可修改性战术分析
- SVG与CSS的特殊性
- python最好用的IDE及查看源码的方法
- 数字图像处理-图像复原
- sqldependency 的使用
- python制作烟花特效_过大年,用Python去绽放最绚丽的烟花
- mac抓包工具charles破解版安装及简单使用
- PWM波转DC直流之二阶RC低通滤波器设计
- MatConvNet安装问题
- 可视化大屏设计尺寸_数据可视化大屏设计尺寸怎么定?
- 大数据分析应用的机遇与挑战
- 基于Outline构建团队的知识库 (上篇)
- list to torch
- ptb同一屏呈现两张图片matlab,PTB-3 安装手册
- 广告设计网站制作怎么做?
热门文章
- win10自动修复重启失败,无法进入桌面,解决办法
- 56-OvR 和 OvO
- ValueError: decision_function_shape must be either ‘ovr‘ or ‘ovo‘, got None.
- 3款大数据bi工具,让企业数据分析更简单
- E. Jumpy Robot(枚举题)
- redis实战第七篇 使用redis工具(redis-cli)搭建redis cluster
- SVG文档:使用SVG 编程(转自IBM文档库)
- 如何创建WordPress登陆页面模板
- 从春招到秋招,一个本科生的求职之路
- 网页点名器(移动端、pc端)