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

cn.net.vidyo.yd.common.data.dao.SqlBuilder Maven / Gradle / Ivy

package cn.net.vidyo.yd.common.data.dao;

public class SqlBuilder {
    public static SqlItem buildInsertSql(String tableName,String fieldsSql,String valueSql,Object... params){
        SqlItem item = new SqlItem();
        StringBuilder sql = new StringBuilder();
        sql.append("INSERT INTO ");
        sql.append(tableName);
        if(valueSql!=null && valueSql.length()>0){
            sql.append("(");
            sql.append(fieldsSql);
            sql.append(")");
        }
        sql.append(" VALUES( ");
        sql.append(valueSql);
        sql.append(")");
        item.setSqlText(sql.toString());
        item.setParams(params);
        return item;
    }
    public static SqlItem buildUpdateSql(String tableName,String setSql,String where,Object... params){
        SqlItem item = new SqlItem();
        StringBuilder sql = new StringBuilder();
        sql.append("UPDATE ");
        sql.append(tableName);
        sql.append(" SET ");
        sql.append(setSql);
        if(where!=null && where.length()>0){
            sql.append(" WHERE ");
            sql.append(where);
        }
        item.setSqlText(sql.toString());
        item.setParams(params);
        return item;
    }
    public static SqlItem buildDeleteSql(String tableName,String where,Object... params){
        SqlItem item = new SqlItem();
        StringBuilder sql = new StringBuilder();
        sql.append("DELETE FROM ");
        sql.append(tableName);
        if(where!=null && where.length()>0){
            sql.append(" WHERE ");
            sql.append(where);
        }
        item.setSqlText(sql.toString());
        item.setParams(params);
        return item;
    }
    public static SqlItem buildQuerySql(String tableName,String selectSql,String where,Object... params){
        SqlItem item = new SqlItem();
        StringBuilder sql = new StringBuilder();
        sql.append("SELECT ");
        sql.append( selectSql );
        sql.append(" FROM ");
        sql.append(tableName);
        if(where!=null && where.length()>0){
            sql.append(" WHERE ");
            sql.append(where);
        }
        item.setSqlText(sql.toString());
        item.setParams(params);
        return item;
    }
    public static SqlItem buildQueryHql(String tableName,String where,Object... params){
        SqlItem item = new SqlItem();
        StringBuilder sql = new StringBuilder();
        sql.append("FROM ");
        sql.append(tableName);
        if(where!=null && where.length()>0){
            sql.append(" WHERE ");
            sql.append(where);
        }
        item.setSqlText(sql.toString());
        item.setParams(params);
        return item;
    }
    public static SqlItem buildDropTableSql(String tableName){
        SqlItem item = new SqlItem();
        StringBuilder sql = new StringBuilder();
        sql.append("DROP TABLE ");
        sql.append(tableName);
        item.setSqlText(sql.toString());
        return item;
    }
    public static SqlItem buildTruncateTableSql(String tableName){
        SqlItem item = new SqlItem();
        StringBuilder sql = new StringBuilder();
        sql.append("TRUNCATE  TABLE ");
        sql.append(tableName);
        item.setSqlText(sql.toString());
        return item;
    }

    public static  String replaceSqlParamIndex(String sql){
        String text = sql;
        int pos = text.indexOf("?");
        int index=1;
        StringBuilder builder=new StringBuilder();
        while (pos>=0){
            builder.append(text.substring(0,pos));
            builder.append("?");
            builder.append(index);
            text=text.substring(pos+1);
            pos = text.indexOf("?");
            index++;
        }
        builder.append(text);
        return builder.toString();
    }

    public static String generateSqlByCloumnIn(String columnName, Object... values){
        StringBuilder sql = new StringBuilder();
        sql.append(columnName);
        sql.append(" IN (");
        int len= sql.length();
        for (Object value : values) {
            if(sql.length()>len){
                sql.append(",");
            }
            sql.append("?");
        }
        sql.append(" )");
        return sql.toString();
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy