Mybatis-plus基础总结

特点

⽆侵⼊:只做增强不做改变,引⼊它不会对现有⼯程产⽣影响,如丝般顺滑
损耗⼩:启动即会⾃动注⼊基本 CURD,性能基本⽆损耗,直接⾯向对象操作
强⼤的 CRUD 操作:内置通⽤ Mapper、通⽤ Service,仅仅通过少量配置即可实现单表⼤部分CRUD 操作,更有强⼤的条件构造器,满⾜各类使⽤需求
⽀持 Lambda 形式调⽤:通过 Lambda 表达式,⽅便的编写各类查询条件,⽆需再担⼼字段写错
⽀持主键⾃动⽣成:⽀持多达 4 种主键策略(内含分布式唯⼀ ID ⽣成器 - Sequence),可⾃由配置,完美解决主键问题
⽀持 ActiveRecord 模式:⽀持 ActiveRecord 形式调⽤,实体类只需继承 Model 类即可进⾏强⼤的 CRUD 操作
⽀持⾃定义全局通⽤操作:⽀持全局通⽤⽅法注⼊( Write once, use anywhere )
内置代码⽣成器:采⽤代码或者 Maven 插件可快速⽣成 Mapper 、 Model 、 Service 、Controller 层代码,⽀持模板引擎,更有超多⾃定义配置等您来使⽤
内置分⻚插件:基于 MyBatis 物理分⻚,开发者⽆需关⼼具体操作,配置好插件之后,写分⻚等同于普通 List 查询
分⻚插件⽀持多种数据库:⽀持 MySQL、MariaDB、Oracle、DB2、H2、HSQL、SQLite、Postgre、SQLServer 等多种数据库
内置性能分析插件:可输出 Sql 语句以及其执⾏时间,建议开发测试时启⽤该功能,能快速揪出慢查询
内置全局拦截插件:提供全表 delete 、 update 操作智能分析阻断,也可⾃定义拦截规则,预防误操作。

相关配置

#MyBatis 配置⽂件位置
mybatis-plus.config-location=classpath:mybatis-config.xml
#MyBatis映射文件位置
mybatis-plus.mapper-locations = classpath*:mapper/*.xml
#给实体类起别名
mybatis-plus.type-aliases-package = com.lg.pojo
#关闭⾃动驼峰映射,该参数不能和mybatis-plus.config-location同时存在 默认为true
mybatis-plus.configuration.map-underscore-to-camel-case=false
#全局地开启或关闭配置⽂件中的所有映射器已经配置的任何缓存,默认为 true
mybatis-plus.configuration.cache-enabled=false
#全局默认主键类型,设置后,即可省略实体对象中的@TableId(type = IdType.AUTO)配置
mybatis-plus.global-config.db-config.id-type=auto
#表名前缀,全局配置后可省略@TableName()配置
mybatis-plus.global-config.db-config.table-prefix=tb_
#逻辑已删除值(默认为 1)
mybatis-plus.global-config.db-config.logic-delete-value=1
#逻辑未删除值(默认为 0)
mybatis-plus.global-config.db-config.logic-not-delete-value=0

强大的条件构造器

在这里插入图片描述

allEq
在这里插入图片描述
1.Map集合
2.Map集合;map中定义为null的字段在sql中转化为is null
3.是否执行map中构造的条件来组装sql;Map集合;map中定义为null的字段在sql中转化为is null

在这里插入图片描述
Parmas、null2isnull、condition与上面一致,filter过滤函数,是否允许过滤条件内的字段传入sql比对条件中。

扩展

ActiveRecord:AR模式,实现方法实体类继承extends Model ,mapper类继承extends BaseMapper,就可以通过new出来的实体对象直接调用增删改查方法,不需要再通过mapper来调用。
乐观锁机制:当更新一条记录时希望别人没有更新,原理:取出记录过去当前version,更新时带上这个version,执行更新时判断这个version是否相等,如果不等,更新失败。数据库添加version字段并在实体类添加@Version注解
代码生成器:
AutoGenerator 是 MyBatis-Plus 的代码⽣成器,通过 AutoGenerator 可以快速⽣成 Entity、Mapper、Mapper XML、Service、Controller 等各个模块的代码,极⼤的提升了开发效率。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值