bug fixed for mapping

This commit is contained in:
温少
2012-03-13 09:26:36 +08:00
parent 4b07baec86
commit 28c99426fd
12 changed files with 126 additions and 11 deletions
@@ -5,6 +5,8 @@ import java.util.LinkedHashMap;
import com.alibaba.druid.mapping.spi.MappingProvider;
import com.alibaba.druid.mapping.spi.MappingVisitor;
import com.alibaba.druid.mapping.spi.MySqlMappingProvider;
import com.alibaba.druid.sql.ast.SQLObject;
import com.alibaba.druid.sql.ast.statement.SQLDeleteStatement;
import com.alibaba.druid.sql.ast.statement.SQLSelectQueryBlock;
import com.alibaba.druid.sql.visitor.SQLASTOutputVisitor;
@@ -55,9 +57,25 @@ public class MappingEngine {
query.accept(this.createMappingVisitor());
return toSQL(query);
}
public SQLDeleteStatement explainToDeleteSQLObject(String sql) {
return provider.explainToDeleteSQLObject(this, sql);
}
public String explainToDeleteSQLObjectSQL(String sql) {
SQLDeleteStatement query = explainToDeleteSQLObject(sql);
query.accept(this.createMappingVisitor());
return toSQL(query);
}
public String toSQL(SQLObject sqlObject) {
StringBuilder out = new StringBuilder();
SQLASTOutputVisitor outputVisitor = createOutputVisitor(out);
query.accept(outputVisitor);
sqlObject.accept(outputVisitor);
return out.toString();
}