MyBatis-Plus在實際工作中常用到的配置,供自己和大家查閱學習。
mybatis-plus:
mapperPackage: com.**.**.mapper
# 對應的 XML 文件位置
mapperLocations: classpath*:mapper/**/*Mapper.xml
# 實體掃描,多個package用逗號或者分號分隔
typeAliasesPackage: com.**.**.domain
# 針對 typeAliasesPackage,如果配置了該屬性,則僅僅會掃描路徑下以該類作為父類的域對象
#typeAliasesSuperType: Class<?>
# 如果配置了該屬性,SqlSessionFactoryBean 會把該包下面的類注冊為對應的 TypeHandler
#typeHandlersPackage: null
# 如果配置了該屬性,會將路徑下的枚舉類進行注入,讓實體類字段能夠簡單快捷的使用枚舉屬性
#typeEnumsPackage: null
# 啟動時是否檢查 MyBatis XML 文件的存在,默認不檢查
checkConfigLocation: false
# 通過該屬性可指定 MyBatis 的執行器,MyBatis 的執行器總共有三種:
# SIMPLE:該執行器類型不做特殊的事情,為每個語句的執行創建一個新的預處理語句(PreparedStatement)
# REUSE:該執行器類型會復用預處理語句(PreparedStatement)
# BATCH:該執行器類型會批量執行所有的更新語句
executorType: SIMPLE
# 指定外部化 MyBatis Properties 配置,通過該配置可以抽離配置,實現不同環境的配置部署
configurationProperties: null
configuration:
# 自動駝峰命名規則(camel case)映射
# 如果您的數據庫命名符合規則無需使用 @TableField 注解指定數據庫字段名
mapUnderscoreToCamelCase: true
# 默認枚舉處理類,如果配置了該屬性,枚舉將統一使用指定處理器進行處理
# org.apache.ibatis.type.EnumTypeHandler : 存儲枚舉的名稱
# org.apache.ibatis.type.EnumOrdinalTypeHandler : 存儲枚舉的索引
# com.baomidou.mybatisplus.extension.handlers.MybatisEnumTypeHandler : 枚舉類需要實現IEnum接口或字段標記@EnumValue注解.
defaultEnumTypeHandler: org.apache.ibatis.type.EnumTypeHandler
# 當設置為 true 的時候,懶加載的對象可能被任何懶屬性全部加載,否則,每個屬性都按需加載。需要和 lazyLoadingEnabled 一起使用。
aggressiveLazyLoading: true
# MyBatis 自動映射策略
# NONE:不啟用自動映射
# PARTIAL:只對非嵌套的 resultMap 進行自動映射
# FULL:對所有的 resultMap 都進行自動映射
autoMappingBehavior: PARTIAL
# MyBatis 自動映射時未知列或未知屬性處理策
# NONE:不做任何處理 (默認值)
# WARNING:以日志的形式打印相關警告信息
# FAILING:當作映射失敗處理,並拋出異常和詳細信息
autoMappingUnknownColumnBehavior: NONE
# Mybatis一級緩存,默認為 SESSION
# SESSION session級別緩存,同一個session相同查詢語句不會再次查詢數據庫
# STATEMENT 關閉一級緩存
localCacheScope: SESSION
# 開啟Mybatis二級緩存,默認為 true
cacheEnabled: true
global-config:
# 是否打印 Logo banner
banner: true
# 是否初始化 SqlRunner
enableSqlRunner: false
dbConfig:
# 主鍵類型
# AUTO 數據庫ID自增
# NONE 空
# INPUT 用戶輸入ID
# ASSIGN_ID 全局唯一ID
# ASSIGN_UUID 全局唯一ID UUID
idType: AUTO
# 表名前綴
tablePrefix: null
# 字段 format,例: %s,(對主鍵無效)
columnFormat: null
# 表名是否使用駝峰轉下划線命名,只對表名生效
tableUnderline: true
# 大寫命名,對表名和字段名均生效
capitalMode: false
# 全局的entity的邏輯刪除字段屬性名
logicDeleteField: deleteFlag
# 邏輯已刪除值
logicDeleteValue: 1
# 邏輯未刪除值
logicNotDeleteValue: 0
# 字段驗證策略之 insert,在 insert 的時候的字段驗證策略
# IGNORED 忽略判斷
# NOT_NULL 非NULL判斷
# NOT_EMPTY 非空判斷(只對字符串類型字段,其他類型字段依然為非NULL判斷)
# DEFAULT 默認的,一般只用於注解里
# NEVER 不加入 SQL
insertStrategy: NOT_EMPTY
# 字段驗證策略之 update,在 update 的時候的字段驗證策略
updateStrategy: NOT_NULL
# 字段驗證策略之 select,在 select 的時候的字段驗證策略既 wrapper 根據內部 entity 生成的 where 條件
selectStrategy: NOT_EMPTY