java110
2022-06-10 aece5260b0738d47645b768c6ee165c14d67deaf
java110-db/src/main/java/com/java110/db/Java110MybatisInterceptor.java
@@ -20,7 +20,7 @@
import org.apache.ibatis.session.Configuration;
import org.apache.ibatis.type.TypeHandlerRegistry;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.java110.core.log.LoggerFactory;
import org.springframework.http.*;
import java.sql.Timestamp;
@@ -78,6 +78,7 @@
    private void dealDeleteSql(MappedStatement mappedStatement, Object parameter, String sql, Map<String, Object> sqlValue) {
        String tmpTable = sql.substring(sql.indexOf("into") + 4, sql.indexOf("(")).trim();
        String tmpTableHasT = tmpTable;
        if(tmpTable.indexOf(" ") > 0){
            tmpTable = tmpTable.substring(0,tmpTable.indexOf(" "));
        }
@@ -85,7 +86,7 @@
        //插入操作时之前的 没有数据 所以 preValue 为空对象
        JSONArray preValues = new JSONArray();
        String execSql = "select * from " + tmpTable + " " + tmpWhere;
        String execSql = "select * from " + tmpTableHasT + " " + tmpWhere;
        queryServiceDAOImpl = ApplicationContextFactory.getBean("queryServiceDAOImpl", IQueryServiceDAO.class);
        List<Map<String, Object>> deleteDatas = queryServiceDAOImpl.executeSql(execSql, null);
@@ -132,6 +133,8 @@
        String tmpTable = sql.substring(sql.indexOf("update") + 6, sql.indexOf("set")).trim();
        String tmpTableHasT = tmpTable;
        if(tmpTable.indexOf(" ") > 0){
            tmpTable = tmpTable.substring(0,tmpTable.indexOf(" "));
        }
@@ -141,7 +144,7 @@
        JSONArray preValues = new JSONArray();
        JSONArray afterValues = new JSONArray();
        JSONObject afterVaule = null;
        String execSql = "select * from " + tmpTable + " " + tmpWhere;
        String execSql = "select * from " + tmpTableHasT + " " + tmpWhere;
        queryServiceDAOImpl = ApplicationContextFactory.getBean("queryServiceDAOImpl", IQueryServiceDAO.class);
        List<Map<String, Object>> deleteDatas = queryServiceDAOImpl.executeSql(execSql, null);
@@ -279,7 +282,11 @@
                    String propertyName = parameterMapping.getProperty();
                    if (metaObject.hasGetter(propertyName)) {
                        Object obj = metaObject.getValue(propertyName);
                        sql = sql.replaceFirst("\\?", getParameterValue(obj));
                        String value = getParameterValue(obj);
                        if(value.contains("${")){
                            value = value.replace("${","\\${");
                        }
                        sql = sql.replaceFirst("\\?", value);
                        values.add(getParameterValue(obj));
                    } else if (boundSql.hasAdditionalParameter(propertyName)) {
                        Object obj = boundSql.getAdditionalParameter(propertyName);
@@ -346,6 +353,7 @@
        return sql;
    }
    private String getParameterValue(Object obj) {
        String value = null;
        if (obj instanceof String) {
@@ -366,11 +374,5 @@
    }
    public static void main(String[] args) {
        String tmpTable = "product_label    t";
        if(tmpTable.indexOf(" ") > 0){
            tmpTable = tmpTable.substring(0,tmpTable.indexOf(" "));
        }
        System.out.printf(tmpTable);
    }
}