类 BaseMybatisConfiguration
java.lang.Object
top.tangyh.basic.database.config.BaseMybatisConfiguration
Mybatis 常用重用拦截器,lamp.database.multiTenantType=任意模式 都需要实例出来
拦截器执行一定是: WriteInterceptor > DataScopeInterceptor > PaginationInterceptor
- 作者:
- zuihou
-
字段概要
字段 -
构造器概要
构造器 -
方法概要
修饰符和类型方法说明disposableWorkerIdAssigner(WorkerNodeDao workerNodeDao) getCacheUidGenerator(DisposableWorkerIdAssigner disposableWorkerIdAssigner) lamp.database.id-type = CACHE 时启用。org.apache.ibatis.mapping.DatabaseIdProvider数据库配置getDefaultUidGenerator(DisposableWorkerIdAssigner disposableWorkerIdAssigner) lamp.database.id-type = DEFAULT 或 lamp.database.id-type 未设置时启用。Mybatis 自定义的类型处理器: 处理XML中 #{name,typeHandler=fullLike} 类型的参数 用于全模糊查询时使用lamp.database.id-type = HU_TOOL 时启用。Mybatis 自定义的类型处理器: 处理XML中 #{name,typeHandler=leftLike} 类型的参数 用于左模糊查询时使用com.baomidou.mybatisplus.core.handlers.MetaObjectHandlerMybatis Plus 注入器protected List<com.baomidou.mybatisplus.extension.plugins.inner.InnerInterceptor>分页拦截器之后的插件protected List<com.baomidou.mybatisplus.extension.plugins.inner.InnerInterceptor>分页拦截器之前的插件Mybatis 自定义的类型处理器: 处理XML中 #{name,typeHandler=rightLike} 类型的参数 用于右模糊查询时使用com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor新的分页插件,一缓和二缓遵循mybatis的规则,需要设置 MybatisConfiguration#useDeprecatedExecutor = false 避免缓存出现问题(该属性会在旧插件移除后一同移除)
-
字段详细资料
-
databaseProperties
-
-
构造器详细资料
-
BaseMybatisConfiguration
-
-
方法详细资料
-
mybatisPlusInterceptor
@Bean @Order(5) @ConditionalOnMissingBean public com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor mybatisPlusInterceptor()新的分页插件,一缓和二缓遵循mybatis的规则,需要设置 MybatisConfiguration#useDeprecatedExecutor = false 避免缓存出现问题(该属性会在旧插件移除后一同移除)注意: 如果内部插件都是使用,需要注意顺序关系,建议使用如下顺序 多租户插件,动态表名插件 分页插件,乐观锁插件 sql性能规范插件,防止全表更新与删除插件 总结: 对sql进行单次改造的优先放入,不对sql进行改造的最后放入
参考: https://mybatis.plus/guide/interceptor.html#%E4%BD%BF%E7%94%A8%E6%96%B9%E5%BC%8F-%E4%BB%A5%E5%88%86%E9%A1%B5%E6%8F%92%E4%BB%B6%E4%B8%BE%E4%BE%8B
-
getDatabaseIdProvider
@Bean public org.apache.ibatis.mapping.DatabaseIdProvider getDatabaseIdProvider()数据库配置- 返回:
- 配置
-
getPaginationAfterInnerInterceptor
protected List<com.baomidou.mybatisplus.extension.plugins.inner.InnerInterceptor> getPaginationAfterInnerInterceptor()分页拦截器之后的插件- 返回:
- 分页拦截器之后的插件
-
getPaginationBeforeInnerInterceptor
protected List<com.baomidou.mybatisplus.extension.plugins.inner.InnerInterceptor> getPaginationBeforeInnerInterceptor()分页拦截器之前的插件- 返回:
- 分页拦截器之前的插件
-
getMyMetaObjectHandler
@Bean("myMetaObjectHandler") @ConditionalOnMissingBean public com.baomidou.mybatisplus.core.handlers.MetaObjectHandler getMyMetaObjectHandler()Mybatis Plus 注入器- 返回:
- 注入器
-
disposableWorkerIdAssigner
@Bean @ConditionalOnMissingBean @ConditionalOnExpression("\'DEFAULT\'.equals(\'${lamp.database.id-type:DEFAULT}\') || \'CACHE\'.equals(\'${lamp.database.id-type:DEFAULT}\')") public DisposableWorkerIdAssigner disposableWorkerIdAssigner(WorkerNodeDao workerNodeDao) -
getDefaultUidGenerator
@Bean @ConditionalOnMissingBean @ConditionalOnProperty(prefix="lamp.database", name="id-type", havingValue="DEFAULT", matchIfMissing=true) public UidGenerator getDefaultUidGenerator(DisposableWorkerIdAssigner disposableWorkerIdAssigner) lamp.database.id-type = DEFAULT 或 lamp.database.id-type 未设置时启用。 -
getCacheUidGenerator
@Bean @ConditionalOnMissingBean @ConditionalOnProperty(prefix="lamp.database", name="id-type", havingValue="CACHE") public UidGenerator getCacheUidGenerator(DisposableWorkerIdAssigner disposableWorkerIdAssigner) lamp.database.id-type = CACHE 时启用。 -
getHuToolUidGenerator
@Bean @ConditionalOnMissingBean @ConditionalOnProperty(prefix="lamp.database", name="id-type", havingValue="HU_TOOL") public UidGenerator getHuToolUidGenerator()lamp.database.id-type = HU_TOOL 时启用。 -
getLeftLikeTypeHandler
Mybatis 自定义的类型处理器: 处理XML中 #{name,typeHandler=leftLike} 类型的参数 用于左模糊查询时使用eg: and name like #{name,typeHandler=leftLike}
- 返回:
- 左模糊处理器
-
getRightLikeTypeHandler
Mybatis 自定义的类型处理器: 处理XML中 #{name,typeHandler=rightLike} 类型的参数 用于右模糊查询时使用eg: and name like #{name,typeHandler=rightLike}
- 返回:
- 右模糊处理器
-
getFullLikeTypeHandler
Mybatis 自定义的类型处理器: 处理XML中 #{name,typeHandler=fullLike} 类型的参数 用于全模糊查询时使用eg: and name like #{name,typeHandler=fullLike}
- 返回:
- 全模糊处理器
-
getMySqlInjector
-