package zutil.db; import java.util.ArrayList; import java.util.LinkedList; /** * A class that generates a query by objects, minimizes errors * * @author Ziver */ public class SQLQuery { protected abstract class SQLQueryItem{ public abstract void getString(StringBuilder query); public String toString(){ StringBuilder query = new StringBuilder(); this.getString(query); return query.toString(); } } //******************************************* // Main Types protected class Select extends SQLQueryItem{ String[] params; /** * @param params is the columns that you want out of the SELECT query, leave empty for all columns */ public Select(String ...params ){ this.params = params; } public void getString(StringBuilder query) { query.append("SELECT "); if( params == null ) query.append("* "); else{ for(int i=0; i tables; public From(String ...tables){ this.tables = new ArrayList(); for( String table : tables ) this.tables.add(table); } public From NATURALJOIN(String ...tables){ return joinTable("NATURAL JOIN", tables); } public From JOIN(String ...tables){ return joinTable("JOIN", tables); } public From UNION(String ...tables){ return joinTable("UNION", tables); } private From joinTable(String type, String[] tables){ StringBuilder str = new StringBuilder(); for(int i=0; i