package com.farriver.bwf.data.master.generator.plugin; import org.mybatis.generator.api.IntrospectedTable; import org.mybatis.generator.api.PluginAdapter; import org.mybatis.generator.api.dom.xml.Element; import org.mybatis.generator.api.dom.xml.TextElement; import org.mybatis.generator.api.dom.xml.XmlElement; import java.util.List; /** *
 * add pagination using mysql limit.
 * This class is only used in ibator code generator.
 * 
*/ /** * mysql 分页生成插件 */ public class MysqlDeleteByExamplePlugin extends PluginAdapter { /** * * delete from table语句增加别名 * 改为delete alias from table */ @Override public boolean sqlMapDeleteByExampleElementGenerated( XmlElement element, IntrospectedTable introspectedTable) { List elements = element.getElements(); String tableNameALias = introspectedTable.getAliasedFullyQualifiedTableNameAtRuntime(); String[] strings = tableNameALias.trim().split("\\s+"); if (strings.length > 1) { int index = 0; for (Element cur : elements) { String content = cur.getFormattedContent(0); if (content.contains("delete from")) { String alias = strings[1]; String deleteSql = "delete " + alias + " from " + tableNameALias; TextElement deleteElement = new TextElement(deleteSql); elements.remove(cur); element.addElement(index, deleteElement); break; } index++; } } return super.sqlMapDeleteByExampleElementGenerated(element, introspectedTable); } /** * This plugin is always valid - no properties are required */ public boolean validate(List warnings) { return true; } }