对于加上plus这个部分来说, 它是提供了一个支持模式的存在的。
在-Plus中提供了的模式, 支持形式调用。实体类只需继承Model类即可实现基本CRUD操作。简单来说就是一个实体类继承Model类。并通过注解与数据库的表名进行关联。这样就可以通过实体类直接进行表的简单增删改查操作。这样也确实极大的方便了开发人员。
原理理解:
简单来说, -plus是在之前的基础之上进行的二次开发。在基本操作方面, 它依然遵循单个操作对应一条SQL语句的规律。其核心逻辑是通过设置参数来获取SQL语句执行后的返回值, 从而实现对执行结果的处理。
我们可以去理解这样一个事实, 那就是“-Plus”其实是在给我们提供一系列操作, 比如简单的增删改查操作, 并且这些sql语句是能够被自动生成的, 它默认提供了不少这样的简单增删改查功能, 它会借助自动生成的sql来完成一些初始化任务, 最终来看其实现的效果和我们自己基于开发所完成的效果是完全一致的。
具体实现:
实体需要继承Model这个类, 并且要加上括号等于符号以及false这个注解所表示的那种注解, 这样做的话, 就不去调用父类里面已经定义的、还有方法里面的逻辑内容了。
@Data@EqualsAndHashCode(callSuper =false)
publicclassDepartment extends Model
这是一个CRUD这样的操作示例demo。
package com.java1234;import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.java1234.entity.Department;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import java.util.List;
/**
* @author java1234_小锋
* @site www.java1234.com
* @company Java知识分享网
* @create 2020-08-22 17:07
*/
@RunWith(SpringRunner.class)
@SpringBootTest
publicclassActiveRecordTest {
@Test
publicvoidinsert(){
Department department=newDepartment();
department.setName("xx部门");
department.setRemark("xxx");
boolean insert =department.insert();
System.out.println(insert);
}
@Test
publicvoidupdateById(){
Department department=newDepartment();
department.setId(7);
department.setName("xx部门2");
department.setRemark("xxx2");
boolean b =department.updateById();
System.out.println(b);
}
@Test
publicvoidinsertOrUpdate(){
Department department=newDepartment();
department.setId(8);
department.setName("xx部门2");
department.setRemark("xxx2");
boolean b =department.insertOrUpdate();
System.out.println(b);
}
@Test
publicvoiddeleteById(){
Department department=newDepartment();
department.setId(7);
boolean b =department.deleteById();
System.out.println(b);
}
@Test
publicvoidselectById(){
Department department=newDepartment();
//Department d = department.selectById(1);//方式一
department.setId(1);//方式二
Department d =department.selectById();
System.out.println(d);
}
@Test
publicvoidselectAll(){
Department department=newDepartment();
List departmentList =department.selectAll();
System.out.println(departmentList);
}
@Test
publicvoidselectListByQueryMapper(){
QueryWrapper queryWrapper=newQueryWrapper();
//QueryWrapper queryWrapper2=Wrappers.query();
queryWrapper.like("name","测试");
Department department=newDepartment();
List departmentList =department.selectList(queryWrapper);
System.out.println(departmentList);
}
}
------------------------------------------------------------------------------------------------------------------------------