Mybatis-Plus实体类继承Model的使用小结

 更新时间:2024年07月11日 11:42:50   作者:涛哥是个大帅比  
Mybatis-Plus实体类继承Model的使用是Mybatis-Plus中的一个重要特性,它允许开发者通过继承Model类来快速实现一些通用的功能,本文主要介绍了Mybatis-Plus实体类继承Model的使用小结,感兴趣的可以了解一下

项目场景:

Mybatis-Plus是Mybatis的一个增强工具,在Mybatis的基础上只做增强不做改变,简化开发、提高效率。Mybatis-Plus实体类继承Model的使用是Mybatis-Plus中的一个重要特性,它允许开发者通过继承Model类来快速实现一些通用的功能,提高开发效率。

首先,我们需要了解什么是Model类。在Mybatis-Plus中,Model类是一个基础的数据模型类,它包含了所有实体类的通用属性和方法。继承Model类可以让我们的实体类快速拥有这些通用属性和方法,而不需要我们自己手动编写。

接下来,我们来看一下如何使用Mybatis-Plus实体类继承Model。

代码实现

引入Mybatis-Plus的依赖

<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>最新版本</version>
</dependency>

然后,我们需要创建一个实体类,并让它继承Model类。例如,我们创建一个User实体类,并让它继承Model类:

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;

@TableName("user")
public class User extends Model<User> {
    private static final long serialVersionUID = 1L;

    private Long id;
    private String name;
    private Integer age;
    private String email;

    // getter和setter方法
}

 使用实体类操作CRUD的方法之前,需要先创建该实体类对应的Mapper类接口,如果不创建Mapper类接口将会报错:Not Found TableInfoCache

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.test.domain.User;
import org.apache.ibatis.annotations.Mapper;
 
@Mapper
public interface UserMapper  extends BaseMapper<User> {
}

使用实体类操作CRUD的使用方法跟BaseMapper里面的方法一样,BaseMapper里面有的方法,Model类里面都有。

测试代码:

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.test.User;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
 
@SpringBootTest
public class StudentModelTest {
 
    /**
     * 新增方法
     */
    @Test
    void insert(){
        User user = new User();
        user.setAge(45);
        user.setName("Model测试数据1");
        // 直接通过user对象调用
        user.insert();
    }
 
    /**
     * 查询所有
     */
    @Test
    void selectList(){
        // queryWrapper 条件为空查询所有数据
        new User().selectList(null).forEach(System.out::println);
    }
}

到此这篇关于Mybatis-Plus实体类继承Model的使用小结的文章就介绍到这了,更多相关Mybatis-Plus Model内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家! 

相关文章

  • SpringCloud自定义loadbalancer实现标签路由的详细方案

    SpringCloud自定义loadbalancer实现标签路由的详细方案

    本文介绍了通过标签路由解决前端开发环境接口调用慢的问题,实现方案包括在本地服务注册元数据、自定义负载均衡器、以及网关配置等步骤,通过环境变量设置标签,网关根据请求头中的标签进行路由,从而实现前后端互不干扰的开发调试,感兴趣的朋友一起看看吧
    2025-02-02
  • 使用Java实现接口拦截器来监控接口的执行情况

    使用Java实现接口拦截器来监控接口的执行情况

    在排查问题的时候,由于没有对接口的执行情况,以及入参进行监控,所以排查起问题就特别费劲,今天我们就一起来写一个接口的拦截器来监控接口的执行情况吧
    2024-01-01
  • java中SPI服务提供者的接口使用总结

    java中SPI服务提供者的接口使用总结

    SPI英文全称为Service Provider Interface,顾名思义,服务提供者接口,它是jdk提供给“服务提供厂商”或者“插件开发者”使用的接口
    2022-02-02
  • Java I/O流之打印流详细使用方法教程

    Java I/O流之打印流详细使用方法教程

    java的io是实现输入和输出的基础,可以方便的实现数据的输入和输出操作,下面这篇文章主要给大家介绍了关于Java IO流打印流详细使用的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-01-01
  • springboot实现防重复提交和防重复点击的示例

    springboot实现防重复提交和防重复点击的示例

    这篇文章主要介绍了springboot实现防重复提交和防重复点击的示例,帮助大家更好的理解和学习springboot框架,感兴趣的朋友可以了解下
    2020-09-09
  • Spring框架JdbcTemplate数据库事务管理完全注解方式

    Spring框架JdbcTemplate数据库事务管理完全注解方式

    这篇文章主要介绍了Spring框架JdbcTemplate数据库事务管理及完全注解方式,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • Redisson之分布式锁原理全面分析

    Redisson之分布式锁原理全面分析

    这篇文章主要介绍了Redisson分布式锁原理,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-03-03
  • springboot Minio功能实现代码

    springboot Minio功能实现代码

    这篇文章主要介绍了springboot Minio功能实现,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-07-07
  • Java8函数式接口UnaryOperator用法示例

    Java8函数式接口UnaryOperator用法示例

    这篇文章主要介绍了Java8函数式接口UnaryOperator用法示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-07-07
  • Java对象创建的过程流程分析

    Java对象创建的过程流程分析

    本文详细介绍了Java对象创建的整个过程,包括类加载、内存分配、对象头设置、构造器初始化以及内存分配的安全问题,文章还讨论了新生代和老年代的内存分配策略,特别是使用指针碰撞和空闲列表两种方式,感兴趣的朋友跟随小编一起看看吧
    2026-01-01

最新评论