add mapping support

This commit is contained in:
温少
2012-03-14 00:04:56 +08:00
2 changed files with 36 additions and 9 deletions
@@ -1,7 +1,10 @@
package com.alibaba.druid.mapping;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import com.alibaba.druid.mapping.spi.ExportParameterVisitor;
import com.alibaba.druid.mapping.spi.MappingProvider;
import com.alibaba.druid.mapping.spi.MappingVisitor;
import com.alibaba.druid.mapping.spi.MySqlMappingProvider;
@@ -26,6 +29,10 @@ public class MappingEngine {
this.provider = provider;
}
public MappingProvider getMappingProvider() {
return provider;
}
public Integer getMaxLimit() {
return maxLimit;
}
@@ -93,16 +100,27 @@ public class MappingEngine {
return toSQL(query);
}
public SQLInsertStatement explainToInsertSQLObject(String sql) {
return provider.explainToInsertSQLObject(this, sql);
}
public String explainToInsertSQL(String sql) {
SQLInsertStatement query = explainToInsertSQLObject(sql);
query.accept(this.createMappingVisitor());
return toSQL(query);
}
public List<Object> exportParameters(SQLObject sqlObject) {
List<Object> parameters = new ArrayList<Object>();
exportParameters(sqlObject, parameters);
return parameters;
}
public void exportParameters(SQLObject sqlObject, List<Object> parameters) {
ExportParameterVisitor exporter = this.provider.createExportParameterVisitor(parameters);
sqlObject.accept(exporter);
}
}