• 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<实体类>,并重写 pkVal 方法,方法返回主键。

    @Override
        protected Serializable pkVal() {
            return id;
        }

      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);
            }
        }
  • 相关阅读:
    SAP ABAP 性能优化技巧 — “where” 语句的正确结构
    SAP ABAP 性能优化技巧 — 正确使用”move” 语句
    ABAP中如何检查字母数字类型(alpha numeric)的变量
    SAP ABAP 性能优化技巧 — 使用 “for all entries”
    SAP ABAP 性能优化技巧 — 性能分析的工具
    SAP ABAP 性能优化技巧 — 正确使用”inner join”
    SAP ABAP 性能优化技巧 — 缓存表
    SAP ABAP 性能优化技巧 — 使用 ABAP “Sort” 取代 “Order By”
    scp命令详解
    java.nio.Buffer flip()方法的用法详解
  • 原文地址:https://www.cnblogs.com/roadlandscape/p/12403551.html
Copyright © 2020-2023  润新知