Mybatis-Plus是Mybatis的一个增强工具,在Mybatis的基础上只做增强不做改变,简化开发、提高效率。Mybatis-Plus实体类继承Model的使用是Mybatis-Plus中的一个重要特性,它允许开发者通过继承Model类来快速实现一些通用的功能,提高开发效率。
首先,我们需要了解什么是Model类。在Mybatis-Plus中,Model类是一个基础的数据模型类,它包含了所有实体类的通用属性和方法。继承Model类可以让我们的实体类快速拥有这些通用属性和方法,而不需要我们自己手动编写。
接下来,我们来看一下如何使用Mybatis-Plus实体类继承Model。
引入Mybatis-Plus的依赖
- <dependency>
- <groupId>com.baomidougroupId>
- <artifactId>mybatis-plus-boot-starterartifactId>
- <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
{ - 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
{ - }
使用实体类操作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);
- }
- }