package com.jthink.skyeye.base.sql; import com.jthink.skyeye.base.constant.Constants; import java.io.Serializable; import java.util.ArrayList; import java.util.List; /** * JThink@JThink * * @author JThink * @version 0.0.1 * @desc select原语 * @date 2016-11-29 21:10:31 */ public class Select implements Serializable { private static final long serialVersionUID = 1L; // 数据表名 private String table; // 查询列描述 private List<SelectColumn> columns; /** * 添加一个查询的列 * @param column */ public void addColumn(String column) { if (this.columns == null) { this.columns = new ArrayList<SelectColumn>(); } SelectColumn selectColumn = new SelectColumn(column); this.columns.add(selectColumn); } /** * 添加一个查询的列 * @param table * @param column */ public void addColumn(String table, String column) { this.addColumn(new SelectColumn(table, column)); } /** * 添加一个查询的列 * @param column */ public void addColumn(SelectColumn column) { if(this.columns == null) { this.columns = new ArrayList<SelectColumn>(); } this.columns.add(column); } /** * 覆写toString, 生成局部sql * @return */ @Override public String toString() { StringBuffer select = new StringBuffer("SELECT "); if (columns == null || columns.isEmpty()) { if (this.table != null) { select.append(this.table).append(Constants.POINT); } select.append("*"); } else { boolean first = true; for (SelectColumn column : columns) { if (first) { first = false; } else { select.append(Constants.COMMA); } select.append(column.toString()); } } return select.toString(); } public String getTable() { return table; } public void setTable(String table) { this.table = table; } public List<SelectColumn> getColumns() { return columns; } public void setColumns(List<SelectColumn> columns) { this.columns = columns; } }