public <T extends ActiveRecord> Query select(Class<T> clazz,
			String... columns) {

		if (columns.length == 0) {
			throw new IllegalArgumentException(
					"Columns must be defined for the select method.");
		}
		StringBuilder sb = new StringBuilder();
		sb.append("select ");
		for (int i = 0; i < columns.length; i++) {
			sb.append(columns[i]);
			if (i != columns.length - 1) {
				sb.append(",");
			}
		}

		PreparedStatement stmt = null;
		ResultSet rs = null;
		Connection connection = null;
		try {
			connection = DB.getConnection();
			if (connection == null) {
				throw new ExcuteQueryException();
			}
			stmt = connection.prepareStatement(sb.toString());
			rs = stmt.executeQuery();
			if (rs.next()) {
				results = handler.toObjectList(rs, clazz);
			}
			return null;
		} catch (Exception e) {
			throw new ExcuteQueryException(e);
		} finally {
			DbUtils.closeQuietly(rs);
			DbUtils.closeQuietly(stmt);
		}
	}