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


    项目场景:

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

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

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


    代码实现

    引入Mybatis-Plus的依赖

    1. <dependency>
    2. <groupId>com.baomidougroupId>
    3. <artifactId>mybatis-plus-boot-starterartifactId>
    4. <version>最新版本version>
    5. dependency>

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

    1. import com.baomidou.mybatisplus.annotation.TableName;
    2. import com.baomidou.mybatisplus.extension.activerecord.Model;
    3. @TableName("user")
    4. public class User extends Model {
    5. private static final long serialVersionUID = 1L;
    6. private Long id;
    7. private String name;
    8. private Integer age;
    9. private String email;
    10. // getter和setter方法
    11. }

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

    1. import com.baomidou.mybatisplus.core.mapper.BaseMapper;
    2. import com.test.domain.User;
    3. import org.apache.ibatis.annotations.Mapper;
    4. @Mapper
    5. public interface UserMapper extends BaseMapper {
    6. }

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

    测试代码:

    1. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
    2. import com.test.User;
    3. import org.junit.jupiter.api.Test;
    4. import org.springframework.boot.test.context.SpringBootTest;
    5. @SpringBootTest
    6. public class StudentModelTest {
    7. /**
    8. * 新增方法
    9. */
    10. @Test
    11. void insert(){
    12. User user = new User();
    13. user.setAge(45);
    14. user.setName("Model测试数据1");
    15. // 直接通过user对象调用
    16. user.insert();
    17. }
    18. /**
    19. * 查询所有
    20. */
    21. @Test
    22. void selectList(){
    23. // queryWrapper 条件为空查询所有数据
    24. new User().selectList(null).forEach(System.out::println);
    25. }
    26. }

  • 相关阅读:
    Java 命令执行笔记
    JavaFx-初识
    融云超级群的「新能力」
    二叉树的遍历(c++)
    vi, vim,data,wc,系统常用命令-读书笔记(十)
    使用windows自带的网络命令工具抓包
    归并排序 和 逆序对 联动
    基于PHP+MySQL简历模板下载管理系统
    数据结构--双链表
    python第三次作业
  • 原文地址:https://blog.csdn.net/u011974797/article/details/138223205