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();
}
}