MybatisPlus --- ActiveRecord(活动记录)

MybatisPlus — ActiveRecord(活动记录)

>> 上一篇我们讲到MybatisPlus中使用条件构造器—EntityWrapperMybatis Plus — 条件构造器
>> 这一篇主要来介绍MybatisPlus中使用ActiveRecord(活动记录)

了解:

  • Active Record(活动记录),是一种领域模型模式,特点是一个模型类对应关系型数据库中的 一个表,而模型类的一个实例对应表中的一行记录。
  • ActiveRecord 一直广受动态语言( PHP 、 Ruby 等)的喜爱,而 Java 作为准静态语言, 对于 ActiveRecord 往往只能感叹其优雅,所以 MP 也在 AR 道路上进行了一定的探索

使用AR模式

  • 1)仅仅需要让实体类继承 Model 类且实现主键指定方法
    在这里插入图片描述

AR 基本 CRUD

  • 1) 插入操作
    public boolean insert()
    /**
     * AR  插入操作
     */
    @Test
    public void  testARInsert() {
    	Employee employee = new Employee();
    	employee.setLastName("ccc");
    	employee.setEmail("ccc@qq.com");
    	employee.setGender(1);
    	boolean result = employee.insert();		//直接通过实例调用方法
    	System.out.println("result:" +result );
    }
    
  • 2)修改操作
    public boolean updateById()
    /**
     * AR 修改操作
     */
    @Test
    public void testARUpdate() {
    	Employee employee = new Employee();
    	employee.setId(2);
    	employee.setLastName("tom");
    	employee.setEmail("tom@qq.com");
    	employee.setGender(1);
    	boolean result = employee.updateById();
    	System.out.println("result:" +result );
    }
    
  • 3)删除操作
    public boolean deleteById()
    public boolean deleteById(Serializable id)
    public boolean delete(Wrapper wrapper)
    /**
     * AR 删除操作
     * 
     * 注意: 删除不存在的数据 逻辑上也是属于成功的. 
     */
    @Test
    public void testARDelete() {
    	
    	Employee employee = new Employee();
    	
    	boolean result = employee.deleteById(2);
    	System.out.println(result);
    	
    	employee.setId(2);
    	boolean result1 = employee.deleteById();
    	System.out.println(result1);
    	
    	boolean result2 = employee.delete(new EntityWrapper<Employee>().like("last_name", "c"));
    	System.out.println(result2);
    }
    
  • 4)查询操作
    public T selectById()
    public T selectById(Serializable id)
    public List selectAll()
    public List selectList(Wrapper wrapper)
    public int selectCount(Wrapper wrapper)
    /**
     * AR 查询操作
     */
    @Test
    public void testARSelect() {
    	
    	Employee employee = new Employee();
    	
    	Employee result1 = employee.selectById(14);
    	System.out.println(result1);
    	
    	employee.setId(2);
    	Employee result = employee.selectById();
    	System.out.println(result);
    	
    	List<Employee> emps = employee.selectAll();
    	System.out.println(emps);
    	
    	List<Employee > employees= employee.selectList(new EntityWrapper<Employee>().like("last_name", "c"));
    	System.out.println(employees);
    	
    	Integer result2 = employee.selectCount(new EntityWrapper<Employee>().eq("gender", 0));
    	System.out.println("result: " +result2);
    }
    
  • 5)分页复杂操作
    public Page selectPage(Page page, Wrapper wrapper)
    /**
     * AR  分页复杂操作
     */
    @Test
    public void  testARPage() {
    	
    	Employee employee = new Employee();
    	
    	Page<Employee> page = employee.selectPage(new Page<Employee>(1, 1),
    			new EntityWrapper<Employee>().like("last_name", "c"));
    	List<Employee> emps = page.getRecords();
    	System.out.println(emps);
    }
    

小结

AR 模式提供了一种更加便捷的方式实现 CRUD 操作,其本质还是调用的 Mybatis 对 应的方法,类似于语法糖,语法糖是指计算机语言中添加的某种语法,这种语法对原本语言的功能并没有影响. 可以更方便开发者使用,可以避免出错的机会,让程序可读性更好.

END…

以上便是MybatisPlus中使用ActiveRecord(活动记录),欢迎参考使用…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值