mybatis-plus学习大纲

本文详细介绍了MyBatisPlus(MP)的使用,包括MP简介、第一个MP程序的搭建、查询(简单查询、复杂条件查询和分页查询)、增删改操作,以及进阶功能如逻辑删和表连接查询。MP是一个简化MyBatis开发的工具,提供了丰富的内置功能和通用Mapper、Service,通过简单的配置和注解即可实现数据库操作。文章还涵盖了如何配置分页插件和使用通用Service,以及如何利用代码生成器快速生成各类模块代码。
摘要由CSDN通过智能技术生成

MyBatisPlus 笔记

1 MyBatisPlus简介

MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。

特性

  • 无侵入:可以将MP理解为MyBatis的外挂,只做增强不做改变。

    • 增强:简化了MyBatis的开发体验,提供了更多功能。

    • 不做改变:引入MP后,MyBatis原有的使用方式不会有任何变化。也就是如果引入MP后,你使用或者不使用MP的增强都可以,没有强制性。

  • 损耗小:MP启动即会自动提前加载增强代码,使用时性能对比MyBatis基本无损耗。

  • 丰富的内置功能:内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作,更有强大的条件构造器,满足各类使用需求

一句话概括:MP是一个简化MyBatis开发,提高开发效率的工具。

2 第1个MyBatisPlus程序

复习SpringBoot中MyBatis项目的开发步骤

  1. 搭建项目开发环境

    1. 新建项目

    2. 导入依赖

      mysql-java-connector 数据库驱动

      mybatis-spring-boot-starter mybatis的starter依赖

      spring-boot-starter-test 测试依赖

    3. 导入配置文件

      application.yml

    4. 配置文件初始化

      application.yml

      spring:
        #连接池配置
        datasource:
          driver-class-name: com.mysql.jdbc.Driver
          url: jdbc:mysql://localhost:3306/baizhi?useUnicode=true&characterEncoding=utf-8
          username: root
          password: root
      ​
      #mybatis配置
      mybatis:
        # 如果不使用实体别名,可以不用配置
        type-aliases-package: com.baizhi.entity
        #如果mapper.xml和接口同包同名可以不用配置
        mapper-locations: classpath:com/baizhi/mapper/*Mapper.xml
        
  2. 建表

  3. 实体

  4. dao

    接口中定义增删改查方法,在xml中提供sql语句

  5. service

    接口中定义业务方法

    实现类中提供方法实现:调用dao

  6. test

    入口类:通过MapperScan扫描dao包

MP使用步骤

相比MyBatis的步骤,MP的使用步骤发生如下变化

  1. 依赖pom.xml

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
        <version>2.1.4.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.48</version>
    </dependency>
    ​
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <version>2.1.4.RELEASE</version>
    </dependency>
    ​
    <dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus-boot-starter</artifactId>
        <version>3.2.0</version>
    </dependency>

    注意:mp的版本和springboot的版本号不能随意更改,保证和笔记相同

  2. 配置

    mybatis:
      type-aliases-package: com.baizhi.entity
      mapper-locations: classpath:com/baizhi/mapper/*Mapper.xml
      
      #替换为
    mybatis-plus:
      type-aliases-package: com.baizhi.entity
      mapper-locations: classpath:com/baizhi/mapper/*Mapper.xml

  3. dao的开发方式

    继承BaseMapper,同时设置泛型为实体类型

  4. 实体类

    使用TableName注解明确表名

    使用TableId注解明确主键

    使用TableField注解明确列名

实战

  1. 实体类

    @TableName("t_user")
    public class User {
        @TableId(value="user_id")
        private Integer id;
        &#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值