首頁>技術>

前言

如果說ssh比ssm究竟好用在哪裡,快速開發體驗在哪裡的話,那必然就是mybatis了,如果還要找一個比mybatis更優秀的dao層框架,那必然就是他的大哥——mybatis plus。

一、MybatisPuls是什麼?

 MyBatis-Plus 是一個 Mybatis 增強版工具,在 MyBatis 上擴充了其他功能沒有改變其基本功能,只是為了簡化開發提交效率而存在。

官網文件地址:  https://mp.baomidou.com/guide/

MyBatis-Plus 特性:  https://mp.baomidou.com/guide/#%E7%89%B9%E6%80%A7

實體類 --> User.java注:建立時間、修改時間、樂觀鎖、邏輯刪除不提倡手動增加或修改
@Data@AllArgsConstructor@NoArgsConstructorpublic class User implements Serializable {    private Long id;    private String name;    private Integer age;    private String email;    /*建立時間*/    @TableField(fill = FieldFill.INSERT)    private Date gmtCreate;    /*修改時間*/    @TableField(fill = FieldFill.UPDATE)    private Date gmtModified;    /*樂觀鎖*/    @Version    private Integer version;    /*邏輯刪除*/    @TableLogic    private Integer deleted;}12345678910111213141516171819202122
Mapper --> UserMapper.java
@Repositorypublic interface UserMapper extends BaseMapper<User> {}123
MybatisCaseConfig.java注:元件註冊!OptimisticLockerInterceptor 在mybatispuls3.20之後棄用了
@MapperScan("com.hjc.demo.mybatiscase.mapper")@EnableTransactionManagement@Configurationpublic class MybatisCaseConfig {    /*OptimisticLockerInterceptor 之前得外掛已被棄用*/    @Bean    public MybatisPlusInterceptor mybatisPlusInterceptor() {       MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();       /*樂觀鎖外掛*/        interceptor.addInnerInterceptor(new OptimisticLockerInnerInterceptor());       /*分頁外掛*/        interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));        return interceptor;    }12345678910111213141516
MybatisCaseHandler.java注:填充策略
@Slf4j@Componentpublic class MybatisCaseHandler implements MetaObjectHandler {    /*插入時填充策略*/    @Override    public void insertFill(MetaObject metaObject) {        log.info("start insertFill succeed");        this.setFieldValByName("gmtCreate",new Date(),metaObject);        this.setFieldValByName("gmtModified",new Date(),metaObject);    }    /*修改時填充策略*/    @Override    public void updateFill(MetaObject metaObject) {        log.info("start updateFill succeed");        this.setFieldValByName("gmtModified",new Date(),metaObject);    }}1234567891011121314151617181920
Test.java --> 簡單CURD測試Test.java --> 多條件測試條件構造器用法較多就不一一示例了 --> {
          構造器路徑:https://baomidou.com/guide/wrapper.html#abstractwrapper1

}

總結

簡單得案例就基本完成了!如需深入請進入官方文件自行學習!

17
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • 「OpenCV 4 教程」瞭解OpenCV的模組架構