All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.fastchar.database.info.FastSqlInfo Maven / Gradle / Ivy

package com.fastchar.database.info;

import com.fastchar.core.FastBaseInfo;

import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;

public class FastSqlInfo extends FastBaseInfo {

    private String type;//数据库类型
    private String sql;
    private boolean log = true;
    private List params = new ArrayList<>();
    private List children = new ArrayList<>();

    public Object[] toParams(){
        return params.toArray(new Object[]{});
    }

    public String getSql() {
        return sql;
    }

    public void setSql(String sql) {
        this.sql = sql;
    }

    public List getParams() {
        return params;
    }

    public void setParams(List params) {
        this.params = params;
    }

    public String getType() {
        return type;
    }

    public FastSqlInfo setType(String type) {
        this.type = type;
        return this;
    }

    public List getChildren() {
        return children;
    }

    public FastSqlInfo setChildren(List children) {
        this.children = children;
        return this;
    }

    public boolean isLog() {
        return log;
    }

    public FastSqlInfo setLog(boolean log) {
        this.log = log;
        return this;
    }

    public String toStaticSql() {
        String newSql = sql;
        for (Object param : params) {
            newSql = newSql.replaceFirst("\\?", "'" + param + "'");
        }
        return newSql;
    }
}