Mybatis-Plus中的ActiveRecord

ActiveRecord(简称AR)一直广受动态语言( PHP 、 Ruby 等)的喜爱,而 Java 作为准静态语言,对于ActiveRecord 往往只能感叹其优雅,但也进行了一定的支持。
什么是ActiveRecord?
  ActiveRecord也属于ORM(对象关系映射)层,由Rails最早提出,遵循标准的ORM模型:表映射到记录,记录映射到对象,字段映射到对象属性。
  配合遵循的命名和配置惯例,能够很大程度的快速实现模型的操作,而且简洁易懂。
ActiveRecord的主要思想是:
  每一个数据库表对应创建一个类,类的每一个对象实例对应于数据库中表的一行记录;通常表的每个字段在类中都有相应的Field;
  ActiveRecord 同时负责把自己持久化,在ActiveRecord中封装了对数据库的访问,即CURD;
  ActiveRecord 是一种领域模型(Domain Model),封装了部分业务逻辑;

开启AR之旅:在MP中,开启AR非常简单,只需要将实体对象继承Model即可。

  1.根据主键查询

@Test
    public void selectById() {
        User user = new User();
        user.setId(5L);
        User user2 = user.selectById();
        System.out.println(user2);
    }

  2.新增数据

@Test
    public void testInsert(){
        User user = new User();
        user.setUserName("diaochan");
        user.setPassword("123456");
        user.setAge(20);
        user.setName("貂蝉");

        // 调用AR的insert方法进行插入数据
        boolean insert = user.insert();
        System.out.println("result => " + insert);
    }

  3.删除操作

@Test
    public void testDelete(){
        User user = new User();
        user.setId(5L);

        boolean delete = user.deleteById();
        System.out.println("result => " + delete);
    }

  4.更新操作

@Test
    public void testUpdate(){
        User user = new User();
        user.setId(10L);// 查询条件
        user.setAge(31); // 更新的数据

        boolean result = user.updateById();
        System.out.println("result => " + result);
    }

  5.根据条件查询

@Test
    public void testSelect(){
        User user = new User();

        QueryWrapper<User> wrapper  = new QueryWrapper<>();
        wrapper.ge("age", 30); //大于等于30岁的用户查询出来

        List<User> users = user.selectList(wrapper);
        for (User user1 : users) {
            System.out.println(user1);
        }
    }

猜你喜欢

转载自www.cnblogs.com/roadlandscape/p/12403551.html