当前位置: 首页 > news >正文

【第7章】SpringBoot整合Mybatis-Plus

文章目录

  • 前言
  • 一、引入库
  • 二、案例
    • 1.UserMapper
    • 2.UserController
    • 3. 结果
  • 三、配置
  • 总结


前言

MyBatis-Plus 是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。
在这里插入图片描述

上一篇内容已经整合过Mybatis,这里在上一篇的基础上使用Mybatis-Plus完成对User对象的查询。


一、引入库

兄弟们,要先注释掉之前的mybatis-spring-boot-starter,配置可以重用。

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

二、案例

1.UserMapper

package org.example.springboot3.mybatis.mappers;import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.example.springboot3.mybatis.model.User;import java.util.List;/*** Create by zjg on 2024/5/19*/
@Mapper
public interface UserMapper extends BaseMapper<User> {List<User> selectList();
}

2.UserController

package org.example.springboot3.mybatis.controller;import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import lombok.extern.log4j.Log4j2;
import org.example.springboot3.mybatis.mappers.UserMapper;
import org.example.springboot3.mybatis.model.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;/*** Create by zjg on 2024/5/19*/
@RequestMapping("/mybatis/")
@RestController
@Log4j2
public class UserController {@AutowiredUserMapper userMapper;@RequestMapping("001")public List mybatis001(){List<User> users = userMapper.selectList();log.info(users);return users;}@RequestMapping("002")public List mybatis002(){List<User> users = userMapper.selectList(new QueryWrapper<>());log.info(users);return users;}
}

3. 结果

[2024-05-20 19:54:08.620][http-nio-8080-exec-5][INFO]- org.example.springboot3.mybatis.controller.UserController.mybatis001(UserController.java:24) - [User(id=1, name=张三, age=11, brithDay=Mon May 19 00:00:00 CST 2014), User(id=2, name=李四, age=10, brithDay=Tue May 19 00:00:00 CST 2015)]
[2024-05-20 19:54:21.028][http-nio-8080-exec-6][INFO]- org.example.springboot3.mybatis.controller.UserController.mybatis002(UserController.java:30) - [User(id=1, name=张三, age=11, brithDay=Mon May 19 00:00:00 CST 2014), User(id=2, name=李四, age=10, brithDay=Tue May 19 00:00:00 CST 2015)]

我们使用mybatis-plus内置的接口,sql语句也没有编写,就达到了mybatis的同等效果。


三、配置

Mybatis-Plus无缝衔接Mybatis配置参数,我们使用起来是没有感知的,只需要把前缀修改为mybatis-plus

mybatis-plus:mapper-locations: mappers/**/*.xmltype-aliases-package: org.example.springboot3.mybatis.modeltype-handlers-package: org.example.springboot3.mybatis.typehandlerconfiguration:map-underscore-to-camel-case: truedefault-fetch-size: 100default-statement-timeout: 30

总结

回到顶部
官方网站
快速开始

我发现就mybatis写的文档最好了。

相关文章:

  • 2024年QMT智能量化交易全解读:一文带你深入了解什么是QMT
  • 长安链使用Golang编写智能合约教程(二)
  • 深度解析搜索引擎广告(SEM)与社交媒体广告(SMM):NetFarmer助力企业数字化出海
  • 【QT八股文】系列之篇章3 | QT的多线程以及QThread与QObject
  • Google力作入选CVPR2024:用生成模型的超能力填充庞大的负样本空间
  • npm镜像源管理
  • 端到端目标检测 |从DETR 到 GroundingDINO
  • Linux 用户与用户组
  • 《Docker实际应用场景:开发、测试、CI/CD、微服务和容器编排》
  • 基于FIDO2和USBKEY硬件的SSH认证
  • 58. UE5 RPG AI行为树的装饰器
  • 【ai】livekit:Agents 2 :会话式AI 快速开始
  • 扒出秦L三个槽点,我不考虑买它了
  • Khoj:开源个人AI助手能连接你的在线和本地文档充当你的第二大脑
  • 如何使用Python和大模型进行数据分析和文本生成
  • 《Java8实战》-第四章读书笔记(引入流Stream)
  • 【译】理解JavaScript:new 关键字
  • axios请求、和返回数据拦截,统一请求报错提示_012
  • ES6--对象的扩展
  • jdbc就是这么简单
  • Laravel5.4 Queues队列学习
  • Laravel核心解读--Facades
  • mysql 5.6 原生Online DDL解析
  • vue从入门到进阶:计算属性computed与侦听器watch(三)
  • 山寨一个 Promise
  • 手写双向链表LinkedList的几个常用功能
  • 通过获取异步加载JS文件进度实现一个canvas环形loading图
  • 为什么要用IPython/Jupyter?
  • 源码之下无秘密 ── 做最好的 Netty 源码分析教程
  • #define与typedef区别
  • (12)Linux 常见的三种进程状态
  • (zhuan) 一些RL的文献(及笔记)
  • (ZT) 理解系统底层的概念是多么重要(by趋势科技邹飞)
  • (附源码)springboot“微印象”在线打印预约系统 毕业设计 061642
  • (理论篇)httpmoudle和httphandler一览
  • (力扣)循环队列的实现与详解(C语言)
  • (三)Pytorch快速搭建卷积神经网络模型实现手写数字识别(代码+详细注解)
  • (十)【Jmeter】线程(Threads(Users))之jp@gc - Stepping Thread Group (deprecated)
  • (四)JPA - JQPL 实现增删改查
  • (一) storm的集群安装与配置
  • (一)Dubbo快速入门、介绍、使用
  • (一)Spring Cloud 直击微服务作用、架构应用、hystrix降级
  • (一)Thymeleaf用法——Thymeleaf简介
  • (幽默漫画)有个程序员老公,是怎样的体验?
  • (原)记一次CentOS7 磁盘空间大小异常的解决过程
  • (原創) 如何解决make kernel时『clock skew detected』的warning? (OS) (Linux)
  • (转载)Linux 多线程条件变量同步
  • .gitignore文件使用
  • .mysql secret在哪_MYSQL基本操作(上)
  • .NET “底层”异步编程模式——异步编程模型(Asynchronous Programming Model,APM)...
  • .NET CORE使用Redis分布式锁续命(续期)问题
  • .net(C#)中String.Format如何使用
  • .NET/C# 将一个命令行参数字符串转换为命令行参数数组 args
  • /tmp目录下出现system-private文件夹解决方法
  • @RequestMapping 的作用是什么?