Appearance
乐观锁插件
注入器:VersionInject
处理器:VersionHandler
java
public interface VersionHandler {
/**
* 判断是否应用乐观锁
*
* @param methodInfo mapper方法详尽信息
* @param table 主表
* @return
*/
default boolean isVersion(MethodInfo methodInfo, String table) {
if (methodInfo != null) {
TableInfo tableInfo = methodInfo.getConfiguration().getTableFactory().getTableInfo(table);
if (tableInfo != null) {
ColumnInfo columnInfo = tableInfo.getColumnInfo(getVersionColumn());
return columnInfo != null;
}
}
return false;
}
/**
* 获取当前版本值
*
* @param objectWrapper
* @return
*/
String getCurVersion(ObjectWrapper objectWrapper);
/**
* 获取下个版本值
*
* @return
*/
String getNextVersion(ObjectWrapper objectWrapper);
/**
* 乐观锁字段
*
* @return
*/
String getVersionColumn();
}