Mybatis-plus之配置属性篇

若看到查询结果为null情况,可以打开这个查看情况。Mybatis-plus映射篇(部分注解)

此处后缀文件.yml.yaml 若有使用properties,自行转换。
转换工具:http://toyaml.com/

日常

mybatis-plus:
  #外部化xml配置
  #config-location: classpath:mybatis-config.xml
  #指定外部化 MyBatis Properties 配置,通过该配置可以抽离配置,实现不同环境的配置部署
  #configuration-properties: classpath:mybatis/config.properties
  #xml扫描,多个目录用逗号或者分号分隔(告诉 Mapper 所对应的 XML 文件位置)
  mapper-locations: classpath*:/mapper/*.xml
  #MyBaits 别名包扫描路径,通过该属性可以给包中的类注册别名
  type-aliases-package: net.xinhuamm.noah.api.model.entity,net.xinhuamm.noah.api.model.dto
  #如果配置了该属性,则仅仅会扫描路径下以该类作为父类的域对象
  #type-aliases-super-type: java.lang.Object
  #枚举类 扫描路径,如果配置了该属性,会将路径下的枚举类进行注入,让实体类字段能够简单快捷的使用枚举属性
  #type-enums-package: com.baomidou.mybatisplus.samples.quickstart.enums
  #项目启动会检查xml配置存在(只在开发时候打开)
  check-config-location: true
  #SIMPLE:该执行器类型不做特殊的事情,为每个语句的执行创建一个新的预处理语句,REUSE:该执行器类型会复用预处理语句,BATCH:该执行器类型会批量执行所有的更新语句
  default-executor-type: REUSE
  configuration:
    # 是否开启自动驼峰命名规则(camel case)映射,即从经典数据库列名 A_COLUMN(下划线命名) 到经典 Java 属性名 aColumn(驼峰命名) 的类似映射
    map-underscore-to-camel-case: false
    # 全局地开启或关闭配置文件中的所有映射器已经配置的任何缓存,默认为 true
    cache-enabled: false
    #懒加载
    #aggressive-lazy-loading: true
    #NONE:不启用自动映射 PARTIAL:只对非嵌套的 resultMap 进行自动映射 FULL:对所有的 resultMap 都进行自动映射
    #auto-mapping-behavior: partial
    #NONE:不做任何处理 (默认值)WARNING:以日志的形式打印相关警告信息 FAILING:当作映射失败处理,并抛出异常和详细信息
    #auto-mapping-unknown-column-behavior: none
    #如果查询结果中包含空值的列,则 MyBatis 在映射的时候,不会映射这个字段
    call-setters-on-nulls: true
    # 这个配置会将执行的sql打印出来,在开发或测试的时候可以用
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
  global-config:
    db-config:
      #表名下划线命名默认true
      table-underline: true
      #id类型
      id-type: auto
      #是否开启大写命名,默认不开启
      #capital-mode: false
      #逻辑已删除值,(逻辑删除下有效) 需要注入逻辑策略LogicSqlInjector 以@Bean方式注入
      logic-not-delete-value: 0
      #逻辑未删除值,(逻辑删除下有效)
      logic-delete-value: 1
      #数据库类型
      #db-type: sql_server

大体结构:

mybatis-plus:
  ......
  configuration:
    ......
  global-config:
    ......
    db-config:
      ......
mybatis-plus
mybatis-plus:
  # MyBatis Mapper 所对应的 XML 文件位置,如果您在 Mapper 中有自定义方法(XML 中有自定义实现),需要进行该配置,告诉 Mapper 所对应的 XML 文件位置
  config-location: classpath:mybatis-config.xml
  
  # 指定外部化 MyBatis Properties 配置,通过该配置可以抽离配置,实现不同环境的配置部署
  configuration-properties: classpath:mybatis-config.properties
  
  # Mapper对应的xml文件扫描,多个目录用逗号或者分号分隔
  mapper-locations: classpath*:/mapper/**/*Mapper.xml
  
  # MyBaits 别名包扫描路径,通过该属性可以给包中的类注册别名,注册后在 Mapper 对应的 XML 文件中可以直接使用类名,而不用使用全限定的类名(即 XML 中调用的时候不用包含包名)
  type-aliases-package: com.ck.**
  
  # 该配置请和 typeAliasesPackage 一起使用,如果配置了该属性,则仅仅会扫描路径下以该类作为父类的域对象
  type-aliases-super-type: java.lang.Object
  
  # 枚举类 扫描路径,如果配置了该属性,会将路径下的枚举类进行注入,让实体类字段能够简单快捷的使用枚举属性
  type-enums-package: com.baomidou.mybatisplus.samples.quickstart.enums
  
  # 启动时是否检查 MyBatis XML 文件的存在,默认不检查
  check-config-location: true
  
  # SIMPLE:该执行器类型不做特殊的事情,为每个语句的执行创建一个新的预处理语句,REUSE:该执行器类型会复用预处理语句,BATCH:该执行器类型会批量执行所有的更新语句
  default-executor-type: REUSE

常用的:
mapper-locations(xml文件对应的位置)
type-aliases-package(映射的实体类对应位置)

configuration
  configuration:
    # 配置返回数据库(column下划线命名&&返回java实体是驼峰命名),自动匹配无需as(没开启这个,SQL需要写as: select user_id as userId)
    map-underscore-to-camel-case: true
    
    # 全局地开启或关闭配置文件中的所有映射器已经配置的任何缓存,默认为 true
    cache-enabled: false
    
    # 懒加载
    aggressive-lazy-loading: true
    
    # NONE:不启用自动映射 PARTIAL:只对非嵌套的 resultMap 进行自动映射 FULL:对所有的 resultMap 都进行自动映射
    auto-mapping-behavior: partial
    
    # NONE:不做任何处理 (默认值)WARNING:以日志的形式打印相关警告信息 FAILING:当作映射失败处理,并抛出异常和详细信息
    auto-mapping-unknown-column-behavior: none
    
    # 如果查询结果中包含空值的列,则 MyBatis 在映射的时候,不会映射这个字段
    call-setters-on-nulls: true
    
    # 配置JdbcTypeForNull, oracle数据库必须配置
    jdbc-type-for-null: "null"
    
    # 这个配置会将执行的sql打印出来,在开发或测试的时候可以用
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

常用的:
map-underscore-to-camel-case(下划线转换是否开启)
cache-enabled(映射是否缓存)
jdbc-type-for-null (mybatis传入的值为null例如insert,有NEP。默认转化为什么)
call-setters-on-nulls (查询结果为null时不会映射,目测暂无用处)
log-impl (打印sql)

global-config
  global-config:
    # 是否控制台 print mybatis-plus 的 LOGO
    banner: true
    
    # 机器 ID 部分(影响雪花ID)
#    worker-id:

    # 数据标识 ID 部分(影响雪花ID)(workerId 和 datacenterId 一起配置才能重新初始化 Sequence)
#    datacenter-id:

不常用配置,未补全

db-config
    db-config:
      #表名下划线命名默认true
      table-underline: true
      
      #id类型
      id-type: auto
      
      #是否开启大写命名,默认不开启
      #capital-mode: false
      
      #逻辑已删除值,(逻辑删除下有效) 需要注入逻辑策略LogicSqlInjector 以@Bean方式注入
      logic-not-delete-value: 0
      
      #逻辑未删除值,(逻辑删除下有效)
      logic-delete-value: 1
      
      #数据库类型 这个属性没什么用 数据库类型,默认值为未知的数据库类型 如果值为OTHER,启动时会根据数据库连接 url 获取数据库类型;如果不是OTHER则不会自动获取数据库类型
      db-type: mysql
      
      # IGNORED	忽略判断 NOT_NULL 非NULL判断  NOT_EMPTY 非空判断(只对字符串类型字段,其他类型字段依然为非NULL判断)  DEFAULT	追随全局配置 类似的还有update-strategy、select-strategy等
      insert-strategy: not_null

参考链接:
https://baomidou.com/
https://blog.csdn.net/ck457897564/article/details/100173959

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值