mybatis-plus提供支持ActiveRecord模式
在Mybatis-Plus中提供了ActiveRecord的模式,支持 ActiveRecord 形式調用,實體類只需繼承 Model 類即可實現基本 CRUD 操作,簡單來說就是一個實體類繼承Model類,並通過注解與數據庫的表名進行關聯,這樣就可以通過實體類直接進行表的簡單增刪改查操作,這樣也確實極大的方便了開發人員。
原理理解:
簡單來說Mybatis-plus是基於Mybatis的基礎之上進行開發的,其基本操作還是一個Mapper操作中對應一條sql語句,通過參數和返回值來處理sql語句的執行結果。那樣我們可以理解Mybatis-Plus的ActiveRecord其實就是Mybatis-Plus給我們提供一些簡單的增刪改查操作SQl語句的自動生成操作,在Mybatis提供的BaseMapper中默認提供了一些簡單增刪改查操作,其通過自動生成sql來初始化Mybatis的一些操作,其最終實現和我們直接基於Mybatis開發是一致的。
具體實現:
實體繼承Model類,以及加上@EqualsAndHashCode(callSuper = false)注解,不調用父類euqals和hashCode方法;
@Data @EqualsAndHashCode(callSuper = false) public class Department extends Model<Department>
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 public class ActiveRecordTest { @Test public void insert(){ Department department=new Department(); department.setName("xx部門"); department.setRemark("xxx"); boolean insert = department.insert(); System.out.println(insert); } @Test public void updateById(){ Department department=new Department(); department.setId(7); department.setName("xx部門2"); department.setRemark("xxx2"); boolean b = department.updateById(); System.out.println(b); } @Test public void insertOrUpdate(){ Department department=new Department(); department.setId(8); department.setName("xx部門2"); department.setRemark("xxx2"); boolean b = department.insertOrUpdate(); System.out.println(b); } @Test public void deleteById(){ Department department=new Department(); department.setId(7); boolean b = department.deleteById(); System.out.println(b); } @Test public void selectById(){ Department department=new Department(); //Department d = department.selectById(1); // 方式一 department.setId(1); // 方式二 Department d = department.selectById(); System.out.println(d); } @Test public void selectAll(){ Department department=new Department(); List<Department> departmentList = department.selectAll(); System.out.println(departmentList); } @Test public void selectListByQueryMapper(){ QueryWrapper<Department> queryWrapper=new QueryWrapper(); // QueryWrapper<Employee> queryWrapper2=Wrappers.<Employee>query(); queryWrapper.like("name","測試"); Department department=new Department(); List<Department> departmentList = department.selectList(queryWrapper); System.out.println(departmentList); } }
------------------------------------------------------------------------------------------------------------------------------
作者: java1234_小鋒
出處:https://www.cnblogs.com/java688/p/13672107.html
版權:本站使用「CC BY 4.0」創作共享協議,轉載請在文章明顯位置注明作者及出處。
------------------------------------------------------------------------------------------------------------------------------