package com.neusoft.smart.pos.ota.persistent.domain;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class UpgradeStrategyGroupExample {

	protected String orderByClause;

	protected boolean distinct;

	protected List<Criteria> oredCriteria;

	private Integer offset;

	private Integer limit;

	public UpgradeStrategyGroupExample() {
		oredCriteria = new ArrayList<Criteria>();
	}

	public String getOrderByClause() {
		return orderByClause;
	}

	public void setOrderByClause(String orderByClause) {
		this.orderByClause = orderByClause;
	}

	public boolean isDistinct() {
		return distinct;
	}

	public void setDistinct(boolean distinct) {
		this.distinct = distinct;
	}

	public List<Criteria> getOredCriteria() {
		return oredCriteria;
	}

	public void or(Criteria criteria) {
		oredCriteria.add(criteria);
	}

	public Criteria or() {
		Criteria criteria = createCriteriaInternal();
		oredCriteria.add(criteria);
		return criteria;
	}

	public Criteria createCriteria() {
		Criteria criteria = createCriteriaInternal();
		if (oredCriteria.size() == 0) {
			oredCriteria.add(criteria);
		}
		return criteria;
	}

	protected Criteria createCriteriaInternal() {
		Criteria criteria = new Criteria();
		return criteria;
	}

	public void clear() {
		oredCriteria.clear();
		orderByClause = null;
		distinct = false;
		this.offset = null;
		this.limit = null;
	}

	public Integer getOffset() {
		return this.offset;
	}

	public void setOffset(Integer offset) {
		this.offset = offset;
	}

	public Integer getLimit() {
		return this.limit;
	}

	public void setLimit(Integer limit) {
		this.limit = limit;
	}

	public UpgradeStrategyGroupExample page(int offset, int limit) {
		this.offset = offset;
		this.limit = limit;
		return this;
	}

	protected abstract static class GeneratedCriteria {

		protected List<Criterion> criteria;

		protected GeneratedCriteria() {
			super();
			criteria = new ArrayList<Criterion>();
		}

		public boolean isValid() {
			return criteria.size() > 0;
		}

		public List<Criterion> getAllCriteria() {
			return criteria;
		}

		public List<Criterion> getCriteria() {
			return criteria;
		}

		protected void addCriterion(String condition) {
			if (condition == null) {
				throw new RuntimeException("Value for condition cannot be null");
			}
			criteria.add(new Criterion(condition));
		}

		protected void addCriterion(String condition, Object value, String property) {
			if (value == null) {
				throw new RuntimeException("Value for " + property + " cannot be null");
			}
			criteria.add(new Criterion(condition, value));
		}

		protected void addCriterion(String condition, Object value1, Object value2, String property) {
			if (value1 == null || value2 == null) {
				throw new RuntimeException("Between values for " + property + " cannot be null");
			}
			criteria.add(new Criterion(condition, value1, value2));
		}

		public Criteria andIdIsNull() {
			addCriterion("id is null");
			return (Criteria) this;
		}

		public Criteria andIdIsNotNull() {
			addCriterion("id is not null");
			return (Criteria) this;
		}

		public Criteria andIdEqualTo(Integer value) {
			addCriterion("id =", value, "id");
			return (Criteria) this;
		}

		public Criteria andIdNotEqualTo(Integer value) {
			addCriterion("id <>", value, "id");
			return (Criteria) this;
		}

		public Criteria andIdGreaterThan(Integer value) {
			addCriterion("id >", value, "id");
			return (Criteria) this;
		}

		public Criteria andIdGreaterThanOrEqualTo(Integer value) {
			addCriterion("id >=", value, "id");
			return (Criteria) this;
		}

		public Criteria andIdLessThan(Integer value) {
			addCriterion("id <", value, "id");
			return (Criteria) this;
		}

		public Criteria andIdLessThanOrEqualTo(Integer value) {
			addCriterion("id <=", value, "id");
			return (Criteria) this;
		}

		public Criteria andIdIn(List<Integer> values) {
			addCriterion("id in", values, "id");
			return (Criteria) this;
		}

		public Criteria andIdNotIn(List<Integer> values) {
			addCriterion("id not in", values, "id");
			return (Criteria) this;
		}

		public Criteria andIdBetween(Integer value1, Integer value2) {
			addCriterion("id between", value1, value2, "id");
			return (Criteria) this;
		}

		public Criteria andIdNotBetween(Integer value1, Integer value2) {
			addCriterion("id not between", value1, value2, "id");
			return (Criteria) this;
		}

		public Criteria andStrategyNameIsNull() {
			addCriterion("strategy_name is null");
			return (Criteria) this;
		}

		public Criteria andStrategyNameIsNotNull() {
			addCriterion("strategy_name is not null");
			return (Criteria) this;
		}

		public Criteria andStrategyNameEqualTo(String value) {
			addCriterion("strategy_name =", value, "strategyName");
			return (Criteria) this;
		}

		public Criteria andStrategyNameNotEqualTo(String value) {
			addCriterion("strategy_name <>", value, "strategyName");
			return (Criteria) this;
		}

		public Criteria andStrategyNameGreaterThan(String value) {
			addCriterion("strategy_name >", value, "strategyName");
			return (Criteria) this;
		}

		public Criteria andStrategyNameGreaterThanOrEqualTo(String value) {
			addCriterion("strategy_name >=", value, "strategyName");
			return (Criteria) this;
		}

		public Criteria andStrategyNameLessThan(String value) {
			addCriterion("strategy_name <", value, "strategyName");
			return (Criteria) this;
		}

		public Criteria andStrategyNameLessThanOrEqualTo(String value) {
			addCriterion("strategy_name <=", value, "strategyName");
			return (Criteria) this;
		}

		public Criteria andStrategyNameLike(String value) {
			addCriterion("strategy_name like", value, "strategyName");
			return (Criteria) this;
		}

		public Criteria andStrategyNameNotLike(String value) {
			addCriterion("strategy_name not like", value, "strategyName");
			return (Criteria) this;
		}

		public Criteria andStrategyNameIn(List<String> values) {
			addCriterion("strategy_name in", values, "strategyName");
			return (Criteria) this;
		}

		public Criteria andStrategyNameNotIn(List<String> values) {
			addCriterion("strategy_name not in", values, "strategyName");
			return (Criteria) this;
		}

		public Criteria andStrategyNameBetween(String value1, String value2) {
			addCriterion("strategy_name between", value1, value2, "strategyName");
			return (Criteria) this;
		}

		public Criteria andStrategyNameNotBetween(String value1, String value2) {
			addCriterion("strategy_name not between", value1, value2, "strategyName");
			return (Criteria) this;
		}

		public Criteria andPackageIdIsNull() {
			addCriterion("package_id is null");
			return (Criteria) this;
		}

		public Criteria andPackageIdIsNotNull() {
			addCriterion("package_id is not null");
			return (Criteria) this;
		}

		public Criteria andPackageIdEqualTo(Integer value) {
			addCriterion("package_id =", value, "packageId");
			return (Criteria) this;
		}

		public Criteria andPackageIdNotEqualTo(Integer value) {
			addCriterion("package_id <>", value, "packageId");
			return (Criteria) this;
		}

		public Criteria andPackageIdGreaterThan(Integer value) {
			addCriterion("package_id >", value, "packageId");
			return (Criteria) this;
		}

		public Criteria andPackageIdGreaterThanOrEqualTo(Integer value) {
			addCriterion("package_id >=", value, "packageId");
			return (Criteria) this;
		}

		public Criteria andPackageIdLessThan(Integer value) {
			addCriterion("package_id <", value, "packageId");
			return (Criteria) this;
		}

		public Criteria andPackageIdLessThanOrEqualTo(Integer value) {
			addCriterion("package_id <=", value, "packageId");
			return (Criteria) this;
		}

		public Criteria andPackageIdIn(List<Integer> values) {
			addCriterion("package_id in", values, "packageId");
			return (Criteria) this;
		}

		public Criteria andPackageIdNotIn(List<Integer> values) {
			addCriterion("package_id not in", values, "packageId");
			return (Criteria) this;
		}

		public Criteria andPackageIdBetween(Integer value1, Integer value2) {
			addCriterion("package_id between", value1, value2, "packageId");
			return (Criteria) this;
		}

		public Criteria andPackageIdNotBetween(Integer value1, Integer value2) {
			addCriterion("package_id not between", value1, value2, "packageId");
			return (Criteria) this;
		}

		public Criteria andUpgradeStartTimeIsNull() {
			addCriterion("upgrade_start_time is null");
			return (Criteria) this;
		}

		public Criteria andUpgradeStartTimeIsNotNull() {
			addCriterion("upgrade_start_time is not null");
			return (Criteria) this;
		}

		public Criteria andUpgradeStartTimeEqualTo(Date value) {
			addCriterion("upgrade_start_time =", value, "upgradeStartTime");
			return (Criteria) this;
		}

		public Criteria andUpgradeStartTimeNotEqualTo(Date value) {
			addCriterion("upgrade_start_time <>", value, "upgradeStartTime");
			return (Criteria) this;
		}

		public Criteria andUpgradeStartTimeGreaterThan(Date value) {
			addCriterion("upgrade_start_time >", value, "upgradeStartTime");
			return (Criteria) this;
		}

		public Criteria andUpgradeStartTimeGreaterThanOrEqualTo(Date value) {
			addCriterion("upgrade_start_time >=", value, "upgradeStartTime");
			return (Criteria) this;
		}

		public Criteria andUpgradeStartTimeLessThan(Date value) {
			addCriterion("upgrade_start_time <", value, "upgradeStartTime");
			return (Criteria) this;
		}

		public Criteria andUpgradeStartTimeLessThanOrEqualTo(Date value) {
			addCriterion("upgrade_start_time <=", value, "upgradeStartTime");
			return (Criteria) this;
		}

		public Criteria andUpgradeStartTimeIn(List<Date> values) {
			addCriterion("upgrade_start_time in", values, "upgradeStartTime");
			return (Criteria) this;
		}

		public Criteria andUpgradeStartTimeNotIn(List<Date> values) {
			addCriterion("upgrade_start_time not in", values, "upgradeStartTime");
			return (Criteria) this;
		}

		public Criteria andUpgradeStartTimeBetween(Date value1, Date value2) {
			addCriterion("upgrade_start_time between", value1, value2, "upgradeStartTime");
			return (Criteria) this;
		}

		public Criteria andUpgradeStartTimeNotBetween(Date value1, Date value2) {
			addCriterion("upgrade_start_time not between", value1, value2, "upgradeStartTime");
			return (Criteria) this;
		}

		public Criteria andUpgradeEndTimeIsNull() {
			addCriterion("upgrade_end_time is null");
			return (Criteria) this;
		}

		public Criteria andUpgradeEndTimeIsNotNull() {
			addCriterion("upgrade_end_time is not null");
			return (Criteria) this;
		}

		public Criteria andUpgradeEndTimeEqualTo(Date value) {
			addCriterion("upgrade_end_time =", value, "upgradeEndTime");
			return (Criteria) this;
		}

		public Criteria andUpgradeEndTimeNotEqualTo(Date value) {
			addCriterion("upgrade_end_time <>", value, "upgradeEndTime");
			return (Criteria) this;
		}

		public Criteria andUpgradeEndTimeGreaterThan(Date value) {
			addCriterion("upgrade_end_time >", value, "upgradeEndTime");
			return (Criteria) this;
		}

		public Criteria andUpgradeEndTimeGreaterThanOrEqualTo(Date value) {
			addCriterion("upgrade_end_time >=", value, "upgradeEndTime");
			return (Criteria) this;
		}

		public Criteria andUpgradeEndTimeLessThan(Date value) {
			addCriterion("upgrade_end_time <", value, "upgradeEndTime");
			return (Criteria) this;
		}

		public Criteria andUpgradeEndTimeLessThanOrEqualTo(Date value) {
			addCriterion("upgrade_end_time <=", value, "upgradeEndTime");
			return (Criteria) this;
		}

		public Criteria andUpgradeEndTimeIn(List<Date> values) {
			addCriterion("upgrade_end_time in", values, "upgradeEndTime");
			return (Criteria) this;
		}

		public Criteria andUpgradeEndTimeNotIn(List<Date> values) {
			addCriterion("upgrade_end_time not in", values, "upgradeEndTime");
			return (Criteria) this;
		}

		public Criteria andUpgradeEndTimeBetween(Date value1, Date value2) {
			addCriterion("upgrade_end_time between", value1, value2, "upgradeEndTime");
			return (Criteria) this;
		}

		public Criteria andUpgradeEndTimeNotBetween(Date value1, Date value2) {
			addCriterion("upgrade_end_time not between", value1, value2, "upgradeEndTime");
			return (Criteria) this;
		}

		public Criteria andIsForceIsNull() {
			addCriterion("is_force is null");
			return (Criteria) this;
		}

		public Criteria andIsForceIsNotNull() {
			addCriterion("is_force is not null");
			return (Criteria) this;
		}

		public Criteria andIsForceEqualTo(Integer value) {
			addCriterion("is_force =", value, "isForce");
			return (Criteria) this;
		}

		public Criteria andIsForceNotEqualTo(Integer value) {
			addCriterion("is_force <>", value, "isForce");
			return (Criteria) this;
		}

		public Criteria andIsForceGreaterThan(Integer value) {
			addCriterion("is_force >", value, "isForce");
			return (Criteria) this;
		}

		public Criteria andIsForceGreaterThanOrEqualTo(Integer value) {
			addCriterion("is_force >=", value, "isForce");
			return (Criteria) this;
		}

		public Criteria andIsForceLessThan(Integer value) {
			addCriterion("is_force <", value, "isForce");
			return (Criteria) this;
		}

		public Criteria andIsForceLessThanOrEqualTo(Integer value) {
			addCriterion("is_force <=", value, "isForce");
			return (Criteria) this;
		}

		public Criteria andIsForceIn(List<Integer> values) {
			addCriterion("is_force in", values, "isForce");
			return (Criteria) this;
		}

		public Criteria andIsForceNotIn(List<Integer> values) {
			addCriterion("is_force not in", values, "isForce");
			return (Criteria) this;
		}

		public Criteria andIsForceBetween(Integer value1, Integer value2) {
			addCriterion("is_force between", value1, value2, "isForce");
			return (Criteria) this;
		}

		public Criteria andIsForceNotBetween(Integer value1, Integer value2) {
			addCriterion("is_force not between", value1, value2, "isForce");
			return (Criteria) this;
		}

		public Criteria andOrganizationIdIsNull() {
			addCriterion("organization_id is null");
			return (Criteria) this;
		}

		public Criteria andOrganizationIdIsNotNull() {
			addCriterion("organization_id is not null");
			return (Criteria) this;
		}

		public Criteria andOrganizationIdEqualTo(Integer value) {
			addCriterion("organization_id =", value, "organizationId");
			return (Criteria) this;
		}

		public Criteria andOrganizationIdNotEqualTo(Integer value) {
			addCriterion("organization_id <>", value, "organizationId");
			return (Criteria) this;
		}

		public Criteria andOrganizationIdGreaterThan(Integer value) {
			addCriterion("organization_id >", value, "organizationId");
			return (Criteria) this;
		}

		public Criteria andOrganizationIdGreaterThanOrEqualTo(Integer value) {
			addCriterion("organization_id >=", value, "organizationId");
			return (Criteria) this;
		}

		public Criteria andOrganizationIdLessThan(Integer value) {
			addCriterion("organization_id <", value, "organizationId");
			return (Criteria) this;
		}

		public Criteria andOrganizationIdLessThanOrEqualTo(Integer value) {
			addCriterion("organization_id <=", value, "organizationId");
			return (Criteria) this;
		}

		public Criteria andOrganizationIdIn(List<Integer> values) {
			addCriterion("organization_id in", values, "organizationId");
			return (Criteria) this;
		}

		public Criteria andOrganizationIdNotIn(List<Integer> values) {
			addCriterion("organization_id not in", values, "organizationId");
			return (Criteria) this;
		}

		public Criteria andOrganizationIdBetween(Integer value1, Integer value2) {
			addCriterion("organization_id between", value1, value2, "organizationId");
			return (Criteria) this;
		}

		public Criteria andOrganizationIdNotBetween(Integer value1, Integer value2) {
			addCriterion("organization_id not between", value1, value2, "organizationId");
			return (Criteria) this;
		}

		public Criteria andCreatedByIsNull() {
			addCriterion("created_by is null");
			return (Criteria) this;
		}

		public Criteria andCreatedByIsNotNull() {
			addCriterion("created_by is not null");
			return (Criteria) this;
		}

		public Criteria andCreatedByEqualTo(Integer value) {
			addCriterion("created_by =", value, "createdBy");
			return (Criteria) this;
		}

		public Criteria andCreatedByNotEqualTo(Integer value) {
			addCriterion("created_by <>", value, "createdBy");
			return (Criteria) this;
		}

		public Criteria andCreatedByGreaterThan(Integer value) {
			addCriterion("created_by >", value, "createdBy");
			return (Criteria) this;
		}

		public Criteria andCreatedByGreaterThanOrEqualTo(Integer value) {
			addCriterion("created_by >=", value, "createdBy");
			return (Criteria) this;
		}

		public Criteria andCreatedByLessThan(Integer value) {
			addCriterion("created_by <", value, "createdBy");
			return (Criteria) this;
		}

		public Criteria andCreatedByLessThanOrEqualTo(Integer value) {
			addCriterion("created_by <=", value, "createdBy");
			return (Criteria) this;
		}

		public Criteria andCreatedByIn(List<Integer> values) {
			addCriterion("created_by in", values, "createdBy");
			return (Criteria) this;
		}

		public Criteria andCreatedByNotIn(List<Integer> values) {
			addCriterion("created_by not in", values, "createdBy");
			return (Criteria) this;
		}

		public Criteria andCreatedByBetween(Integer value1, Integer value2) {
			addCriterion("created_by between", value1, value2, "createdBy");
			return (Criteria) this;
		}

		public Criteria andCreatedByNotBetween(Integer value1, Integer value2) {
			addCriterion("created_by not between", value1, value2, "createdBy");
			return (Criteria) this;
		}

		public Criteria andCreatedDateIsNull() {
			addCriterion("created_date is null");
			return (Criteria) this;
		}

		public Criteria andCreatedDateIsNotNull() {
			addCriterion("created_date is not null");
			return (Criteria) this;
		}

		public Criteria andCreatedDateEqualTo(Date value) {
			addCriterion("created_date =", value, "createdDate");
			return (Criteria) this;
		}

		public Criteria andCreatedDateNotEqualTo(Date value) {
			addCriterion("created_date <>", value, "createdDate");
			return (Criteria) this;
		}

		public Criteria andCreatedDateGreaterThan(Date value) {
			addCriterion("created_date >", value, "createdDate");
			return (Criteria) this;
		}

		public Criteria andCreatedDateGreaterThanOrEqualTo(Date value) {
			addCriterion("created_date >=", value, "createdDate");
			return (Criteria) this;
		}

		public Criteria andCreatedDateLessThan(Date value) {
			addCriterion("created_date <", value, "createdDate");
			return (Criteria) this;
		}

		public Criteria andCreatedDateLessThanOrEqualTo(Date value) {
			addCriterion("created_date <=", value, "createdDate");
			return (Criteria) this;
		}

		public Criteria andCreatedDateIn(List<Date> values) {
			addCriterion("created_date in", values, "createdDate");
			return (Criteria) this;
		}

		public Criteria andCreatedDateNotIn(List<Date> values) {
			addCriterion("created_date not in", values, "createdDate");
			return (Criteria) this;
		}

		public Criteria andCreatedDateBetween(Date value1, Date value2) {
			addCriterion("created_date between", value1, value2, "createdDate");
			return (Criteria) this;
		}

		public Criteria andCreatedDateNotBetween(Date value1, Date value2) {
			addCriterion("created_date not between", value1, value2, "createdDate");
			return (Criteria) this;
		}

		public Criteria andLastModifiedByIsNull() {
			addCriterion("last_modified_by is null");
			return (Criteria) this;
		}

		public Criteria andLastModifiedByIsNotNull() {
			addCriterion("last_modified_by is not null");
			return (Criteria) this;
		}

		public Criteria andLastModifiedByEqualTo(Integer value) {
			addCriterion("last_modified_by =", value, "lastModifiedBy");
			return (Criteria) this;
		}

		public Criteria andLastModifiedByNotEqualTo(Integer value) {
			addCriterion("last_modified_by <>", value, "lastModifiedBy");
			return (Criteria) this;
		}

		public Criteria andLastModifiedByGreaterThan(Integer value) {
			addCriterion("last_modified_by >", value, "lastModifiedBy");
			return (Criteria) this;
		}

		public Criteria andLastModifiedByGreaterThanOrEqualTo(Integer value) {
			addCriterion("last_modified_by >=", value, "lastModifiedBy");
			return (Criteria) this;
		}

		public Criteria andLastModifiedByLessThan(Integer value) {
			addCriterion("last_modified_by <", value, "lastModifiedBy");
			return (Criteria) this;
		}

		public Criteria andLastModifiedByLessThanOrEqualTo(Integer value) {
			addCriterion("last_modified_by <=", value, "lastModifiedBy");
			return (Criteria) this;
		}

		public Criteria andLastModifiedByIn(List<Integer> values) {
			addCriterion("last_modified_by in", values, "lastModifiedBy");
			return (Criteria) this;
		}

		public Criteria andLastModifiedByNotIn(List<Integer> values) {
			addCriterion("last_modified_by not in", values, "lastModifiedBy");
			return (Criteria) this;
		}

		public Criteria andLastModifiedByBetween(Integer value1, Integer value2) {
			addCriterion("last_modified_by between", value1, value2, "lastModifiedBy");
			return (Criteria) this;
		}

		public Criteria andLastModifiedByNotBetween(Integer value1, Integer value2) {
			addCriterion("last_modified_by not between", value1, value2, "lastModifiedBy");
			return (Criteria) this;
		}

		public Criteria andLastModifiedDateIsNull() {
			addCriterion("last_modified_date is null");
			return (Criteria) this;
		}

		public Criteria andLastModifiedDateIsNotNull() {
			addCriterion("last_modified_date is not null");
			return (Criteria) this;
		}

		public Criteria andLastModifiedDateEqualTo(Date value) {
			addCriterion("last_modified_date =", value, "lastModifiedDate");
			return (Criteria) this;
		}

		public Criteria andLastModifiedDateNotEqualTo(Date value) {
			addCriterion("last_modified_date <>", value, "lastModifiedDate");
			return (Criteria) this;
		}

		public Criteria andLastModifiedDateGreaterThan(Date value) {
			addCriterion("last_modified_date >", value, "lastModifiedDate");
			return (Criteria) this;
		}

		public Criteria andLastModifiedDateGreaterThanOrEqualTo(Date value) {
			addCriterion("last_modified_date >=", value, "lastModifiedDate");
			return (Criteria) this;
		}

		public Criteria andLastModifiedDateLessThan(Date value) {
			addCriterion("last_modified_date <", value, "lastModifiedDate");
			return (Criteria) this;
		}

		public Criteria andLastModifiedDateLessThanOrEqualTo(Date value) {
			addCriterion("last_modified_date <=", value, "lastModifiedDate");
			return (Criteria) this;
		}

		public Criteria andLastModifiedDateIn(List<Date> values) {
			addCriterion("last_modified_date in", values, "lastModifiedDate");
			return (Criteria) this;
		}

		public Criteria andLastModifiedDateNotIn(List<Date> values) {
			addCriterion("last_modified_date not in", values, "lastModifiedDate");
			return (Criteria) this;
		}

		public Criteria andLastModifiedDateBetween(Date value1, Date value2) {
			addCriterion("last_modified_date between", value1, value2, "lastModifiedDate");
			return (Criteria) this;
		}

		public Criteria andLastModifiedDateNotBetween(Date value1, Date value2) {
			addCriterion("last_modified_date not between", value1, value2, "lastModifiedDate");
			return (Criteria) this;
		}

		public Criteria andStatusIsNull() {
			addCriterion("status is null");
			return (Criteria) this;
		}

		public Criteria andStatusIsNotNull() {
			addCriterion("status is not null");
			return (Criteria) this;
		}

		public Criteria andStatusEqualTo(Integer value) {
			addCriterion("status =", value, "status");
			return (Criteria) this;
		}

		public Criteria andStatusNotEqualTo(Integer value) {
			addCriterion("status <>", value, "status");
			return (Criteria) this;
		}

		public Criteria andStatusGreaterThan(Integer value) {
			addCriterion("status >", value, "status");
			return (Criteria) this;
		}

		public Criteria andStatusGreaterThanOrEqualTo(Integer value) {
			addCriterion("status >=", value, "status");
			return (Criteria) this;
		}

		public Criteria andStatusLessThan(Integer value) {
			addCriterion("status <", value, "status");
			return (Criteria) this;
		}

		public Criteria andStatusLessThanOrEqualTo(Integer value) {
			addCriterion("status <=", value, "status");
			return (Criteria) this;
		}

		public Criteria andStatusIn(List<Integer> values) {
			addCriterion("status in", values, "status");
			return (Criteria) this;
		}

		public Criteria andStatusNotIn(List<Integer> values) {
			addCriterion("status not in", values, "status");
			return (Criteria) this;
		}

		public Criteria andStatusBetween(Integer value1, Integer value2) {
			addCriterion("status between", value1, value2, "status");
			return (Criteria) this;
		}

		public Criteria andStatusNotBetween(Integer value1, Integer value2) {
			addCriterion("status not between", value1, value2, "status");
			return (Criteria) this;
		}
	}

	public static class Criteria extends GeneratedCriteria {

		protected Criteria() {
			super();
		}
	}

	public static class Criterion {

		private String condition;

		private Object value;

		private Object secondValue;

		private boolean noValue;

		private boolean singleValue;

		private boolean betweenValue;

		private boolean listValue;

		private String typeHandler;

		protected Criterion(String condition) {
			super();
			this.condition = condition;
			this.typeHandler = null;
			this.noValue = true;
		}

		protected Criterion(String condition, Object value, String typeHandler) {
			super();
			this.condition = condition;
			this.value = value;
			this.typeHandler = typeHandler;
			if (value instanceof List<?>) {
				this.listValue = true;
			} else {
				this.singleValue = true;
			}
		}

		protected Criterion(String condition, Object value) {
			this(condition, value, null);
		}

		protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
			super();
			this.condition = condition;
			this.value = value;
			this.secondValue = secondValue;
			this.typeHandler = typeHandler;
			this.betweenValue = true;
		}

		protected Criterion(String condition, Object value, Object secondValue) {
			this(condition, value, secondValue, null);
		}

		public String getCondition() {
			return condition;
		}

		public Object getValue() {
			return value;
		}

		public Object getSecondValue() {
			return secondValue;
		}

		public boolean isNoValue() {
			return noValue;
		}

		public boolean isSingleValue() {
			return singleValue;
		}

		public boolean isBetweenValue() {
			return betweenValue;
		}

		public boolean isListValue() {
			return listValue;
		}

		public String getTypeHandler() {
			return typeHandler;
		}
	}
}