Mybatis-plus学习笔记

本文介绍了Mybatis-plus的基本概念、核心依赖和接口,详细讲述了快速入门的步骤,包括导入依赖、配置、实体类和Mapper接口设置等。还讨论了@TableName、@TableField和@TableId等注解的用法,以及增删改查的基础操作。对于最新版的Mybatis-plus,文中指出分页功能需要通过拦截器实现,并提到了自定义Mapper的方法。
摘要由CSDN通过智能技术生成

Mybatis-plus

一、介绍

1. 概述

  1. 官网:https://baomidou.com/
  2. 解释:MyBatis-Plus(简称 MP)是一个MyBatis的一个插件
  3. 作用:在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生
  4. 源码地址:码云【https://gitee.com/baomidou/mybatis-plus?_from=gitee_search

2. 核心依赖

<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.5.0</version>
</dependency>

3. 核心接口

我们自己写的Mapper文件要继承BaseMapper接口
BaseMapper接口

//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//

package com.baomidou.mybatisplus.core.mapper;

import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.ExceptionUtils;
import java.io.Serializable;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import org.apache.ibatis.annotations.Param;

public interface BaseMapper<T> extends Mapper<T> {
   
    int insert(T entity);

    int deleteById(Serializable id);

    int deleteById(T entity);

    int deleteByMap(@Param("cm") Map<String, Object> columnMap);

    int delete(@Param("ew") Wrapper<T> queryWrapper);

    int deleteBatchIds(@Param("coll") Collection<?> idList);

    int updateById(@Param("et") T entity);

    int update(@Param("et") T entity, @Param("ew") Wrapper<T> updateWrapper);

    T selectById(Serializable id);

    List<T> selectBatchIds(@Param("coll") Collection<? extends Serializable> idList);

    List<T> selectByMap(@Param("cm") Map<String, Object> columnMap);

    default T selectOne(@Param("ew") Wrapper<T> queryWrapper) {
   
        List<T> ts = this.selectList(queryWrapper);
        if (CollectionUtils.isNotEmpty(ts)) {
   
            if (ts.size() != 1) {
   
                throw ExceptionUtils.mpe("One record is expected, but the query result is multiple records", new Object[0]);
            } else {
   
                return ts.get(0);
            }
        } else {
   
            return null;
        }
    }

    default boolean exists(Wrapper<T> queryWrapper) {
   
        Long count = this.selectCount(queryWrapper);
        return null != count && count > 0L;
    }

    Long selectCount(@Param
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值