MybatisPlus基础篇学习笔记(一)------简介

原创:兜里的猫

本章目录

  • 什么是MybatisPlus
  • 相关资源
  • 实战项目
  • 学习前需要基础知识
  • 优点
  • 特性

1. 什么是MybatisPlus

MyBatis-Plus(简称MP)是一个MyBatis的增强工具,在MyBatis的基础上只做增强不做改变,为简化开发、提高效率而生。

简而言之,就是对Mybatis框架进行二次封装,优化框架方法,产生一套抽象的系统简化操作的框架,它既有原来Mybatis 的特性,同时,还增加了许多简化开发的新功能。也可以理解为是一个基于Mybatis产生的一个增强插件。

项目中使用mybatis的时候,需要对应数据库中每个表建立对象,并且对每个对象都需要编写CRUD,需多次编写重复代码,而我们使用MybatisPlus就不用写重复代码,另外还有模板的功能可以一键生成entity,dao,mapper.xml,service,controller。

2. 相关资源

  • 官网地址:https://mybatis.plus

  • 代码发布地址:

    Github:https://github.com/baomidou/mybatis-plus

    Gitee:https://gitee.com/baomidou/mybatis-plus

  • 文档发布地址:https://mybatis.plus/guide/

    这个文档写的很杂乱,对于刚开始学习这个框架的小白真的作用不大,所以本人借着自己学习的机会加上自身的理解写一个实用的笔记,供喜欢的小伙伴学习使用,希望多多支持,多多关注,多多提出宝贵意见,我们共同努力。本篇文集代码已上传至github,地址是 https://github.com/NightOnewith/mybatisplus-basic

3. 实战项目

https://gitee.com/iBase4J/iBase4J

https://gitee.com/jamen/slife

4. 学习前需要基础知识

  • Mybatis

  • Spring

  • Maven

5. 优点

(1)不影响Mybatis原有任何功能;

(2)自带常用的增删改查,直接调用相应方法即可;

(3)强大的条件构造器;

(4)代码生成器;

(5)等等。

6. 特性

a.无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑;

b.损耗小:启动即会自动注入基本CURD,性能基本无损耗,直接面向对象操作;

c.强大的 CRUD 操作:内置通用Mapper、通用Service,仅仅通过少量配置即可实现单表大部分CRUD操作,更有强大的条件构造器,满足各类使用需求;

d.支持 Lambda 形式调用:通过 Lambda 表达式,方便的编写各类查询条件,无需再担心字段写错;

e.支持多种数据库:支持MySQL、MariaDB、Oracle、DB2、H2、HSQL、SQLite、Postgre、SQLServer2005、SQLServer 等多种数据库;

f.支持主键自动生成:支持多达4种主键策略(内含分布式唯一 ID 生成器 -Sequence),可自由配置,完美解决主键问题;

g.支持 XML 热加载:Mapper对应的XML支持热加载,对于简单的 CRUD 操作,甚至可以无 XML 启动;

h.支持 ActiveRecord模式:支持ActiveRecord形式调用,实体类只需继承 Model 类即可进行强大的 CRUD 操作;

i.支持自定义全局通用操作:支持全局通用方法注入( Write once, use anywhere )

j.支持关键词自动转义:支持数据库关键词(order、key…)自动转义,还可自定义关键词;

k.内置代码生成器:采用代码或者 Maven 插件可快速生成 Mapper、Model、Service、Controller层代码,支持模板引擎,更有超多自定义配置等您来使用;

l.内置分页插件:基于MyBatis物理分页,开发者无需关心具体操作,配置好插件之后,写分页等同于普通 List 查询;

m.内置性能分析插件:可输出Sql语句以及其执行时间,建议开发测试时启用该功能,能快速揪出慢查询;

n.内置全局拦截插件:提供全表delete、update操作智能分析阻断,也可自定义拦截规则,预防误操作。

欢迎大家指正本文中的错误并交流,感谢大家支持,希望与你们一同进步!


评论

兜里的猫 : 是md
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×