概念

AR模式(ActiveRecord)简单的说就是直接用实体操作数据库。

用我们常见的三层mvc举例,包括model、view、controller;这个model层可以包括那些呢??
controller只是作为我们项目的逻辑跳转;view当然就是作为项目页面显示;那么我们常见的service、dao、entity等都是model吗?
是的,model层作用项目的数据处理,只不过我们在使用时还可以进行功能细分:service负责业务的处理;dao和entity、model这些就作为数据的来源。

activeRecord模式就是使用dao、entity等直接调用数据库。

怎么使用呢?

  1. 首先我们在代码生成器使用逆向工程的时候开启ar模式
    https://gitee.com/shafish/frame_learn/blob/master/cicada/src/main/java/generator/BeanGenerator.java

    globalConfig.setActiveRecord(true); //开启 ActiveRecord 模式
  2. 这时我们看到生成的entity中的dao类都是继承了Model这个抽象类,这个类包含了增删改查等一系列操作,通过这种方式让model来直接操作数据库。

说说mybatis-plus

很早就知道了这个国产魔改的mybatis,也很早就在自己的项目中使用。它可以比较方便、灵活得通过调用方法来操作数据库,而不像mybatis那些大部分都需要手写xml,当然mybatisplus也是可以使用xml的;除此以外mybatisplus还提供了多种插件:热加载、逻辑删除、枚举等等。
官方说法是:在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。
万一mybatis那天也弄了这些功能,plus要怎么办。总的来说,为了灵活方便感谢苞米豆团队做出的贡献。笑脸