zoukankan      html  css  js  c++  java
  • Mybatis-plus学习笔记

    1.特性:

        1.无侵入:引入mybatis-plus不会对mybatis框架产生任何影响因为他是在mybatis的基础上进行了扩展

        2.依赖少:仅仅依赖mybatis和mybatis-Spring

        3.损耗小:启动会自动注入基本的curd(增删改查)操作性能基本无损耗直接面向对象操作

        4.预防sql注入:内置sql注入剥离器,防止sql注入

        5.多主键策略:支持4中的主键策略,内含分布式唯一id生成器

        6.支持热加载:mapper对应的xml支持热加载

        热加载:在运行时重新加载class(开发环境)基于字节码的更改,适用于开发

        热部署:在运行时从新加载整个应用(生产环境),清空内存从新打包 ,适用于项目

    2.常用注解

      1.@TableName

          属性   类型   必填   默认值

          value  String     否    无    表名

        resyltMap  String     否       无    xml中resultMap的id

           schema     String     否       无    schema(@since 3.1.1)

      keepGlobalPrefix   boolean    否       false  是否保持全局的tablePrefix的值(如果设置了全局tablePrefix且自行设置了value的值)


      2.@TableId

          属性   类型    必填    默认值

           value     String    否          无        主键字段名

            type    Enum   否          IdType.NONE     主键类型


          type的值:

            AUTO 数据库自增

            INPUT 自行输入

            ID_WORKER 分布式全局唯一ID 长整型类型(long)

            UUID 32位UUID字符串

            NONE 无状态

            ID_WORKER_STR 分布式全局唯一ID字符串类型

      3.@TableFieId

          属性    类型    必填    默认值

          value   String   否        无            字段名

            el    String   否        无             映射位原生#{ } 逻辑相当于写在xml里的#{}部分

          exist    boolean  否      true          是否为数据库表字段

         condition   String   否      无          where实体查询比较条件,有值设置则按设置的值为准,没有则为默认全局的

         update    String   否      无          表示更新时会set

             fill     Enum   否      FieIdFill.DEFAULT   字段自动填充策略

         select     boolean     否      true           是否进行select查询

    keepGlobalFormat   boolean     否      false         是否保持使用全局的Format进行处理


          condition属性:

              EQUAL 等于

              NOT_EQUAL 不等于

              LIKE 模糊查询

              LIKE_LEFT 模糊查询小于

              LIKE_RIGHT 模糊查询大于


      4.@Version 乐观锁注解

          使用:在需要乐观锁的表上加一个version字段 int类型 最好默认为1

          在实体类的字段上加上@Version注解

          乐观锁大多是基于数据版本Version记录机制实现,

          读取数据时将此版本号一同读出,之后更新时对此版本号加一,此时将版本号和数据库的进行对比

          如果提交的版本号大于数据库当前版本号则更新,否则认为是过期数据

      5.@EnumValue 枚举注解

      6.@TableLogic 表字段逻辑处理注解(逻辑删除注解)

          属性 类型 必填 默认值

          value String 否 无 逻辑未删除值

          delval String 否 无 逻辑删除值

      7.@KeySequence 序列主键策略

          属性 类型 必填 默认值

          value String 否 无 序列名

          clazz Class 否 Long.class id的类型,可以指定String.class,这样返回的Sequence值是字符串"1"

  • 相关阅读:
    导出api文档
    Webservice测试从头来
    Java8新特性【转】
    spring获取bean的时候严格区分大小写
    java static 方法使用笔记
    maven Spring获取不到配置文件
    4月22日
    4月21日
    9月20日
    9月18日
  • 原文地址:https://www.cnblogs.com/HQ0422/p/10863008.html
Copyright © 2011-2022 走看看