乐观锁插件支持自定义nextVersion
This commit is contained in:
@@ -237,6 +237,20 @@ public class IncrementsPlugin extends BasePlugin implements IModelBuilderPluginH
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Model builder set 方法生成
|
||||
* @param method
|
||||
* @param topLevelClass
|
||||
* @param builderClass
|
||||
* @param introspectedColumn
|
||||
* @param introspectedTable
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public boolean modelBuilderSetterMethodGenerated(Method method, TopLevelClass topLevelClass, InnerClass builderClass, IntrospectedColumn introspectedColumn, IntrospectedTable introspectedTable) {
|
||||
return true;
|
||||
}
|
||||
|
||||
// =============================================== IIncrementsPluginHook ===================================================
|
||||
|
||||
/**
|
||||
|
||||
@@ -200,9 +200,18 @@ public class OptimisticLockerPlugin extends BasePlugin implements IModelBuilderP
|
||||
return super.modelSetterMethodGenerated(method, topLevelClass, introspectedColumn, introspectedTable, modelClassType);
|
||||
}
|
||||
|
||||
/**
|
||||
* Model builder set 方法生成
|
||||
* @param method
|
||||
* @param topLevelClass
|
||||
* @param builderClass
|
||||
* @param introspectedColumn
|
||||
* @param introspectedTable
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public boolean modelBuilderClassGenerated(TopLevelClass topLevelClass, InnerClass builderClass, List<IntrospectedColumn> columns, IntrospectedTable introspectedTable) {
|
||||
if (this.versionColumn != null && this.customizedNextVersion) {
|
||||
public boolean modelBuilderSetterMethodGenerated(Method method, TopLevelClass topLevelClass, InnerClass builderClass, IntrospectedColumn introspectedColumn, IntrospectedTable introspectedTable) {
|
||||
if (this.versionColumn != null && this.customizedNextVersion && introspectedColumn.getActualColumnName().equals(this.versionColumn.getActualColumnName())) {
|
||||
// nextVersion 方法
|
||||
Method nextVersion = JavaElementGeneratorTools.generateMethod(
|
||||
METHOD_NEXT_VERSION,
|
||||
@@ -222,9 +231,23 @@ public class OptimisticLockerPlugin extends BasePlugin implements IModelBuilderP
|
||||
|
||||
FormatTools.addMethodWithBestPosition(builderClass, nextVersion);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Model builder class 生成
|
||||
* @param topLevelClass
|
||||
* @param builderClass
|
||||
* @param columns
|
||||
* @param introspectedTable
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public boolean modelBuilderClassGenerated(TopLevelClass topLevelClass, InnerClass builderClass, List<IntrospectedColumn> columns, IntrospectedTable introspectedTable) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// ========================================= sqlMap 生成 ============================================
|
||||
|
||||
@Override
|
||||
|
||||
@@ -125,6 +125,16 @@ public class HookAggregator implements IUpsertPluginHook, IModelBuilderPluginHoo
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean modelBuilderSetterMethodGenerated(Method method, TopLevelClass topLevelClass, InnerClass builderClass, IntrospectedColumn introspectedColumn, IntrospectedTable introspectedTable) {
|
||||
for (IModelBuilderPluginHook plugin : this.getPlugins(IModelBuilderPluginHook.class)) {
|
||||
if (!plugin.modelBuilderSetterMethodGenerated(method, topLevelClass, builderClass, introspectedColumn, introspectedTable)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
// ================================================= IUpsertPluginHook ===============================================
|
||||
|
||||
@Override
|
||||
|
||||
+12
@@ -19,6 +19,7 @@ package com.itfsw.mybatis.generator.plugins.utils.hook;
|
||||
import org.mybatis.generator.api.IntrospectedColumn;
|
||||
import org.mybatis.generator.api.IntrospectedTable;
|
||||
import org.mybatis.generator.api.dom.java.InnerClass;
|
||||
import org.mybatis.generator.api.dom.java.Method;
|
||||
import org.mybatis.generator.api.dom.java.TopLevelClass;
|
||||
|
||||
import java.util.List;
|
||||
@@ -41,4 +42,15 @@ public interface IModelBuilderPluginHook {
|
||||
* @return
|
||||
*/
|
||||
boolean modelBuilderClassGenerated(TopLevelClass topLevelClass, InnerClass builderClass, List<IntrospectedColumn> columns, IntrospectedTable introspectedTable);
|
||||
|
||||
/**
|
||||
* Model builder set 方法生成
|
||||
* @param method
|
||||
* @param topLevelClass
|
||||
* @param builderClass
|
||||
* @param introspectedColumn
|
||||
* @param introspectedTable
|
||||
* @return
|
||||
*/
|
||||
boolean modelBuilderSetterMethodGenerated(Method method, TopLevelClass topLevelClass, InnerClass builderClass, IntrospectedColumn introspectedColumn, IntrospectedTable introspectedTable);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user