mybatisplus
第一章 Mybatis plus 入门前言
提示:以下是本篇文章正文内容,下面案例可供参考
一、Mybatis plus是什么?
Mybatis plus是基于Mybatis的增强版,对于Mybatis只做增强,不做改变,可以简化开发,提高效率。
二、特性
1.无侵入
只做增强,不做改变,不会对已有的项目做出改变。
2.损耗小
启动就会就会自动注入CRUD,可以直接面向对象操纵,损耗小。
3.强大的CRUD
内置通用mapper,service,通过少量配置即可操作数据库的增删改查,无需再写sql语句。
4.支持Lambda 形式表达式
通过 Lambda 表达式,方便的编写各类查询条件,无需再担心字段写错。
5.主键自动生成
支持多达 4 种主键策略(内含分布式唯一 ID 生成器 - Sequence),可自由配置,完美解决主键问题:
1、AUTO:数据库id自动增长,需要在创建数据表的时候设置主键自增
2、ID_WORKER:mp自带默认策略,生成19位值,数字类型使用这种策略,比如Long
3、ID_WORKER_STR:MP自带默认策略,生成19位值,字符串类型使用这种策略
4、INPUT:用户输入id
5、NONE:未设置主键类型,需要手动设置
6、UUID:随机唯一值
例:
@TableID(type=IdType.AUTO)
private long userID;
@Data
@KeySequence(value = "SEQ_USER" , clazz = Long.class)
public class User {
@TableId(value = "ID",type = IdType.INPUT)
private Integer id;
5.支持 ActiveRecord 模式
支持 ActiveRecord 形式调用,实体类只需继承 Model 类即可进行强大的 CRUD 操作;接口继承baseMapper;
6.支持自定义全局通用操作
支持全局通用方法注入( Write once, use anywhere )
7.内置代码生成器
采用代码或者Maven插件可以快速生成mapper、controller、model、service层的代码,并且支持模板引擎;
8.内置分页插件
基于Mybatis的物理分页,配置好插件以后,写分页就等于普通list查询;
9.内置性能分析插件
可输出 Sql 语句以及其执行时间,建议开发测试时启用该功能,能快速揪出慢查询
10.内置全局拦截插件
提供全表 delete 、 update 操作智能分析阻断,也可自定义拦截规则,预防误操作