mybatis-plus

MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。简单点说就是一款国产持久层框架,在原有mybatis基础上增加了一些适合国内使用的功能。

MyBatis-Plus特性

      

  • 无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑
  • 损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作
  • 强大的 CRUD 操作:内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作,更有强大的条件构造器,满足各类使用需求
  • 支持 Lambda 形式调用:通过 Lambda 表达式,方便的编写各类查询条件,无需再担心字段写错
  • 支持多种数据库:支持 MySQL、MariaDB、Oracle、DB2、H2、HSQL、SQLite、Postgre、SQLServer2005、SQLServer 等多种数据库
  • 支持主键自动生成:支持多达 4 种主键策略(内含分布式唯一 ID 生成器 - Sequence),可自由配置,完美解决主键问题
  • 支持 XML 热加载:Mapper 对应的 XML 支持热加载,对于简单的 CRUD 操作,甚至可以无 XML 启动
  • 支持 ActiveRecord 模式:支持 ActiveRecord 形式调用,实体类只需继承 Model 类即可进行强大的 CRUD 操作
  • 支持自定义全局通用操作:支持全局通用方法注入( Write once, use anywhere )
  • 支持关键词自动转义:支持数据库关键词(order、key......)自动转义,还可自定义关键词
  • 内置代码生成器:采用代码或者 Maven 插件可快速生成 Mapper 、 Model 、 Service 、 Controller 层代码,支持模板引擎,更有超多自定义配置等您来使用
  • 内置分页插件:基于 MyBatis 物理分页,开发者无需关心具体操作,配置好插件之后,写分页等同于普通 List 查询
  • 内置性能分析插件:可输出 Sql 语句以及其执行时间,建议开发测试时启用该功能,能快速揪出慢查询
  • 内置全局拦截插件:提供全表 delete 、 update 操作智能分析阻断,也可自定义拦截规则,预防误操作
  • 内置 Sql 注入剥离器:支持 Sql 注入剥离,有效预防 Sql 注入攻击

使用

   引入依赖:

Spring Boot

Maven:


    com.baomidou
    mybatis-plus-boot-starter
    3.1.1

Gradle:

compile group: 'com.baomidou', name: 'mybatis-plus-boot-starter', version: '3.1.1'

Spring MVC

Maven:


    com.baomidou
    mybatis-plus
    3.1.1

Gradle:

compile group: 'com.baomidou', name: 'mybatis-plus', version: '3.1.1'

mybatis-plus_第1张图片

 

配置:

  Spring Boot 工程:

###################  mybatis-plus配置  ###################
mybatis-plus:
  mapper-locations: classpath*:com/xxx/xxx/**/mapping/*.xml  #xml文件
  typeAliasesPackage: com.xxx.xxx.xxx.model   #实体
  global-config:
    id-type: 1  #1:数据库ID自增   2:用户输入id   3:全局唯一id(IdWorker)   4:全局唯一ID(uuid)
    db-column-underline: false
    refresh-mapper: true
  configuration:
    map-underscore-to-camel-case: true
    cache-enabled: true #配置的缓存的全局开关
    lazyLoadingEnabled: true #延时加载的开关
    multipleResultSetsEnabled: true #开启的话,延时加载一个属性时会加载该对象全部属性,否则按需加载属性

---

##########################################################

 

Spring MVC 工程:

  • 配置 MapperScan

    
        
    
    
  • 调整 SqlSessionFactory 为 MyBatis-Plus 的 SqlSessionFactory

    
        
    

通常来说,一般的简单工程,通过以上配置即可正常使用 MyBatis-Plus,具体可参考以下项目:Spring Boot 快速启动示例(https://github.com/baomidou/mybatis-plus-samples/tree/master/mybatis-plus-sample-quickstart)、Spring MVC 快速启动示例(https://github.com/baomidou/mybatis-plus-samples/tree/master/mybatis-plus-sample-quickstart-springmvc)。 

注解:

   mybatis-plus_第2张图片

   mybatis-plus_第3张图片  

    mybatis-plus_第4张图片 

           mybatis-plus_第5张图片 

            Mapper CRUD 接口

                   

说明:

  • 通用 CRUD 封装BaseMapper接口,为 Mybatis-Plus 启动时自动解析实体表关系映射转换为 Mybatis 内部对象注入容器
  • 泛型 T 为任意实体对象
  • 参数 Serializable 为任意类型主键 Mybatis-Plus 不推荐使用复合主键约定每一张表都有自己的唯一 id 主键
  • 对象 Wrapper 为 条件构造器

   mybatis-plus_第6张图片 

   mybatis-plus_第7张图片 

   mybatis-plus_第8张图片 

    mybatis-plus_第9张图片 

    mybatis-plus_第10张图片 

     mybatis-plus_第11张图片 

      mybatis-plus_第12张图片 

       mybatis-plus_第13张图片 

       mybatis-plus_第14张图片 

        mybatis-plus官方文档:https://baomidou.gitee.io/mybatis-plus-doc/#/

        mybatis-plus使用实例地址:https://github.com/baomidou/mybatis-plus-samples

        mybatis-plus项目地址:https://github.com/baomidou/mybatis-plus

        mybatis-plus资料参考(csdn):https://blog.csdn.net/qq_21963133/article/details/89328703

 

 

你可能感兴趣的:(mybatis)