• MyBatis Plus 2.3 个人笔记-03-Active Record


    AR 语法糖  是一种领域模型模式,特点就是一个模型类对应关系型数据库中的一个表,而模型类的一个实例对应表中的一条记录

    •   实现AR 【在代码生成器中可以添加配置】
    import com.baomidou.mybatisplus.activerecord.Model;
    import com.baomidou.mybatisplus.annotations.TableField;
    import java.io.Serializable;
    
    /**
     * <p>
     *  实现AR 实体类继承  Model 重写 pkVal() 返回主键
     * </p>
     *
     * @author youxiu326@163.com
     * @since 2019-02-17
     */
    @TableName("tbl_user")
    public class User extends Model<User> {
    
        @Override
        protected Serializable pkVal() {
            return this.id;
        }
    }
    
    • 方法其实是一样的,只不过执行的写法有些区别,看个人喜好 是否使用这种语法糖
    package com.huarui.mybatisplus;
    
    import com.baomidou.mybatisplus.mapper.EntityWrapper;
    import com.baomidou.mybatisplus.plugins.Page;
    import com.huarui.mybatisplus.entity.Employee;
    import com.huarui.mybatisplus.mapper.EmployeeMapper;
    import org.junit.Test;
    import org.junit.runner.RunWith;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.boot.test.context.SpringBootTest;
    import org.springframework.test.context.junit4.SpringRunner;
    import java.util.List;
    
    /**
     * AR 版CURD操作
     */
    @RunWith(SpringRunner.class)
    @SpringBootTest
    public class TestAr {
    
        @Autowired
        private EmployeeMapper employeeMapper;
    
        /**
         * AR  分页复杂操作
         */
        @Test
        public void  testARPage() {
    
            Employee employee = new Employee();
    
            Page<Employee> page = employee.selectPage(new Page<>(1, 1),
                    new EntityWrapper<Employee>().like("last_name", "老"));
            List<Employee> emps = page.getRecords();
            System.out.println(emps);
        }
    
    
        /**
         * AR 删除操作
         *
         * 注意: 删除不存在的数据 逻辑上也是属于成功的.
         */
        @Test
        public void testARDelete() {
    
            Employee employee = new Employee();
            //boolean result = employee.deleteById(2);
    //		employee.setId(2);
    //		boolean result = employee.deleteById();
    //		System.out.println("result:" +result );
    
    
            boolean result = employee.delete(new EntityWrapper<Employee>().like("last_name", "小"));
            System.out.println(result );
        }
    
    
        /**
         * AR 查询操作
         */
        @Test
        public void testARSelect() {
            Employee employee = new Employee();
    
            //Employee result = employee.selectById(14);
    //		employee.setId(14);
    //		Employee result = employee.selectById();
    //		System.out.println(result );
    
    
    //		List<Employee> emps = employee.selectAll();
    //		System.out.println(emps);
    
    //		List<Employee > emps=
    //				employee.selectList(new EntityWrapper<Employee>().like("last_name", "老师"));
    //		System.out.println(emps);
    
            Integer result = employee.selectCount(new EntityWrapper<Employee>().eq("gender", 0));
            System.out.println("result: " +result );
    
    
    
        }
    
    
        /**
         * AR 修改操作
         */
        @Test
        public void testARUpdate() {
            Employee employee = new Employee();
            employee.setId(20L);
            employee.setLastName("宋老湿");
            employee.setEmail("sls@atguigu.com");
            employee.setGender("1");
            employee.setAge(36);
    
    
            boolean result = employee.updateById();
            System.out.println("result:" +result );
    
        }
    
    
    
        /**
         * AR  插入操作
         */
        @Test
        public void  testARInsert() {
            Employee employee = new Employee();
            employee.setLastName("李老师");
            employee.setEmail("youxiu326@163.com");
            employee.setGender("1");
            employee.setAge(35);
            employee.setId(1L);
    
            boolean result = employee.insert();
            System.out.println("result:" +result );
        }
    
    }
    
  • 相关阅读:
    VS2012 for SharePoint2013 Tool安装
    SharePoint 2013网站管理网站策略(关闭和删除策略)
    呼风唤雨的公交
    ASP、Access、80040e14、保留关键字、INSERT INTO 语句的语法错误
    表格边框设置
    DotNet开发中关于SQLServer连接的两种方法之比较
    SQL语句集锦
    动态网页设计笔记
    SQL SERVER中日期 where 问题的解决
    配置你的ASP.NET运行环境
  • 原文地址:https://www.cnblogs.com/youxiu326/p/mybatisPlus-03.html
Copyright © 2020-2023  润新知