Commit 8223231d authored by hewei's avatar hewei

官方ConstructorBased配置BUG临时修正插件

parent df27bb11
......@@ -20,6 +20,7 @@ import com.itfsw.mybatis.generator.plugins.utils.BasePlugin;
import com.itfsw.mybatis.generator.plugins.utils.FormatTools;
import org.mybatis.generator.api.IntrospectedColumn;
import org.mybatis.generator.api.IntrospectedTable;
import org.mybatis.generator.api.Plugin;
import org.mybatis.generator.api.dom.java.JavaVisibility;
import org.mybatis.generator.api.dom.java.Method;
import org.mybatis.generator.api.dom.java.Parameter;
......@@ -46,8 +47,13 @@ public class ConstructorBasedBugFixPlugin extends BasePlugin {
@Override
public boolean modelBaseRecordClassGenerated(TopLevelClass topLevelClass, IntrospectedTable introspectedTable) {
// 有种情况下ModelBaseRecordClass不会生成不包含BLOBs的构造方法,造成selectOneByExample返回结果找不到对应的构造方法异常
if (introspectedTable.hasBLOBColumns() && !introspectedTable.getRules().generateRecordWithBLOBsClass()) {
// 有种情况下ModelBaseRecordClass不会生成不包含BLOBs的构造方法
if (introspectedTable.isConstructorBased() && introspectedTable.hasBLOBColumns() && introspectedTable.getBLOBColumns().size() == 1) {
// 判断是否已经生成了对应构造函数
String version = Plugin.class.getPackage().getImplementationVersion();
if (version != null){
String[] strs = version.split("\\.");
if (strs.length == 3 && strs[0].equals("1") && strs[1].equals("3") && Integer.parseInt(strs[2]) < 6){
// 添加没有BLOBs的构造方法
Method method = new Method();
method.setVisibility(JavaVisibility.PUBLIC);
......@@ -98,6 +104,8 @@ public class ConstructorBasedBugFixPlugin extends BasePlugin {
FormatTools.addMethodWithBestPosition(topLevelClass, method);
}
}
}
return true;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment