package cn.superdesk.uniorder.dao.entity.sys;

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

public class SysOderUserExample {

	protected String orderByClause;

	protected boolean distinct;

	protected List<Criteria> oredCriteria;

	private Integer limit;

	private Long offset;

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

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

	public String getOrderByClause() {
		return orderByClause;
	}

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

	public boolean isDistinct() {
		return 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;
	}

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

	public Integer getLimit() {
		return limit;
	}

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

	public Long getOffset() {
		return offset;
	}

	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(Long value) {
			addCriterion("id =", value, "id");
			return (Criteria) this;
		}

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

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

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

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

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

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

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

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

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

		public Criteria andUserIdIsNull() {
			addCriterion("user_id is null");
			return (Criteria) this;
		}

		public Criteria andUserIdIsNotNull() {
			addCriterion("user_id is not null");
			return (Criteria) this;
		}

		public Criteria andUserIdEqualTo(Long value) {
			addCriterion("user_id =", value, "userId");
			return (Criteria) this;
		}

		public Criteria andUserIdNotEqualTo(Long value) {
			addCriterion("user_id <>", value, "userId");
			return (Criteria) this;
		}

		public Criteria andUserIdGreaterThan(Long value) {
			addCriterion("user_id >", value, "userId");
			return (Criteria) this;
		}

		public Criteria andUserIdGreaterThanOrEqualTo(Long value) {
			addCriterion("user_id >=", value, "userId");
			return (Criteria) this;
		}

		public Criteria andUserIdLessThan(Long value) {
			addCriterion("user_id <", value, "userId");
			return (Criteria) this;
		}

		public Criteria andUserIdLessThanOrEqualTo(Long value) {
			addCriterion("user_id <=", value, "userId");
			return (Criteria) this;
		}

		public Criteria andUserIdIn(List<Long> values) {
			addCriterion("user_id in", values, "userId");
			return (Criteria) this;
		}

		public Criteria andUserIdNotIn(List<Long> values) {
			addCriterion("user_id not in", values, "userId");
			return (Criteria) this;
		}

		public Criteria andUserIdBetween(Long value1, Long value2) {
			addCriterion("user_id between", value1, value2, "userId");
			return (Criteria) this;
		}

		public Criteria andUserIdNotBetween(Long value1, Long value2) {
			addCriterion("user_id not between", value1, value2, "userId");
			return (Criteria) this;
		}

		public Criteria andRealnameIsNull() {
			addCriterion("realname is null");
			return (Criteria) this;
		}

		public Criteria andRealnameIsNotNull() {
			addCriterion("realname is not null");
			return (Criteria) this;
		}

		public Criteria andRealnameEqualTo(String value) {
			addCriterion("realname =", value, "realname");
			return (Criteria) this;
		}

		public Criteria andRealnameNotEqualTo(String value) {
			addCriterion("realname <>", value, "realname");
			return (Criteria) this;
		}

		public Criteria andRealnameGreaterThan(String value) {
			addCriterion("realname >", value, "realname");
			return (Criteria) this;
		}

		public Criteria andRealnameGreaterThanOrEqualTo(String value) {
			addCriterion("realname >=", value, "realname");
			return (Criteria) this;
		}

		public Criteria andRealnameLessThan(String value) {
			addCriterion("realname <", value, "realname");
			return (Criteria) this;
		}

		public Criteria andRealnameLessThanOrEqualTo(String value) {
			addCriterion("realname <=", value, "realname");
			return (Criteria) this;
		}

		public Criteria andRealnameLike(String value) {
			addCriterion("realname like", value, "realname");
			return (Criteria) this;
		}

		public Criteria andRealnameNotLike(String value) {
			addCriterion("realname not like", value, "realname");
			return (Criteria) this;
		}

		public Criteria andRealnameIn(List<String> values) {
			addCriterion("realname in", values, "realname");
			return (Criteria) this;
		}

		public Criteria andRealnameNotIn(List<String> values) {
			addCriterion("realname not in", values, "realname");
			return (Criteria) this;
		}

		public Criteria andRealnameBetween(String value1, String value2) {
			addCriterion("realname between", value1, value2, "realname");
			return (Criteria) this;
		}

		public Criteria andRealnameNotBetween(String value1, String value2) {
			addCriterion("realname not between", value1, value2, "realname");
			return (Criteria) this;
		}

		public Criteria andMobileIsNull() {
			addCriterion("mobile is null");
			return (Criteria) this;
		}

		public Criteria andMobileIsNotNull() {
			addCriterion("mobile is not null");
			return (Criteria) this;
		}

		public Criteria andMobileEqualTo(String value) {
			addCriterion("mobile =", value, "mobile");
			return (Criteria) this;
		}

		public Criteria andMobileNotEqualTo(String value) {
			addCriterion("mobile <>", value, "mobile");
			return (Criteria) this;
		}

		public Criteria andMobileGreaterThan(String value) {
			addCriterion("mobile >", value, "mobile");
			return (Criteria) this;
		}

		public Criteria andMobileGreaterThanOrEqualTo(String value) {
			addCriterion("mobile >=", value, "mobile");
			return (Criteria) this;
		}

		public Criteria andMobileLessThan(String value) {
			addCriterion("mobile <", value, "mobile");
			return (Criteria) this;
		}

		public Criteria andMobileLessThanOrEqualTo(String value) {
			addCriterion("mobile <=", value, "mobile");
			return (Criteria) this;
		}

		public Criteria andMobileLike(String value) {
			addCriterion("mobile like", value, "mobile");
			return (Criteria) this;
		}

		public Criteria andMobileNotLike(String value) {
			addCriterion("mobile not like", value, "mobile");
			return (Criteria) this;
		}

		public Criteria andMobileIn(List<String> values) {
			addCriterion("mobile in", values, "mobile");
			return (Criteria) this;
		}

		public Criteria andMobileNotIn(List<String> values) {
			addCriterion("mobile not in", values, "mobile");
			return (Criteria) this;
		}

		public Criteria andMobileBetween(String value1, String value2) {
			addCriterion("mobile between", value1, value2, "mobile");
			return (Criteria) this;
		}

		public Criteria andMobileNotBetween(String value1, String value2) {
			addCriterion("mobile not between", value1, value2, "mobile");
			return (Criteria) this;
		}

		public Criteria andBillEmailIsNull() {
			addCriterion("bill_email is null");
			return (Criteria) this;
		}

		public Criteria andBillEmailIsNotNull() {
			addCriterion("bill_email is not null");
			return (Criteria) this;
		}

		public Criteria andBillEmailEqualTo(String value) {
			addCriterion("bill_email =", value, "billEmail");
			return (Criteria) this;
		}

		public Criteria andBillEmailNotEqualTo(String value) {
			addCriterion("bill_email <>", value, "billEmail");
			return (Criteria) this;
		}

		public Criteria andBillEmailGreaterThan(String value) {
			addCriterion("bill_email >", value, "billEmail");
			return (Criteria) this;
		}

		public Criteria andBillEmailGreaterThanOrEqualTo(String value) {
			addCriterion("bill_email >=", value, "billEmail");
			return (Criteria) this;
		}

		public Criteria andBillEmailLessThan(String value) {
			addCriterion("bill_email <", value, "billEmail");
			return (Criteria) this;
		}

		public Criteria andBillEmailLessThanOrEqualTo(String value) {
			addCriterion("bill_email <=", value, "billEmail");
			return (Criteria) this;
		}

		public Criteria andBillEmailLike(String value) {
			addCriterion("bill_email like", value, "billEmail");
			return (Criteria) this;
		}

		public Criteria andBillEmailNotLike(String value) {
			addCriterion("bill_email not like", value, "billEmail");
			return (Criteria) this;
		}

		public Criteria andBillEmailIn(List<String> values) {
			addCriterion("bill_email in", values, "billEmail");
			return (Criteria) this;
		}

		public Criteria andBillEmailNotIn(List<String> values) {
			addCriterion("bill_email not in", values, "billEmail");
			return (Criteria) this;
		}

		public Criteria andBillEmailBetween(String value1, String value2) {
			addCriterion("bill_email between", value1, value2, "billEmail");
			return (Criteria) this;
		}

		public Criteria andBillEmailNotBetween(String value1, String value2) {
			addCriterion("bill_email not between", value1, value2, "billEmail");
			return (Criteria) this;
		}

		public Criteria andSyncTimeIsNull() {
			addCriterion("sync_time is null");
			return (Criteria) this;
		}

		public Criteria andSyncTimeIsNotNull() {
			addCriterion("sync_time is not null");
			return (Criteria) this;
		}

		public Criteria andSyncTimeEqualTo(Date value) {
			addCriterion("sync_time =", value, "syncTime");
			return (Criteria) this;
		}

		public Criteria andSyncTimeNotEqualTo(Date value) {
			addCriterion("sync_time <>", value, "syncTime");
			return (Criteria) this;
		}

		public Criteria andSyncTimeGreaterThan(Date value) {
			addCriterion("sync_time >", value, "syncTime");
			return (Criteria) this;
		}

		public Criteria andSyncTimeGreaterThanOrEqualTo(Date value) {
			addCriterion("sync_time >=", value, "syncTime");
			return (Criteria) this;
		}

		public Criteria andSyncTimeLessThan(Date value) {
			addCriterion("sync_time <", value, "syncTime");
			return (Criteria) this;
		}

		public Criteria andSyncTimeLessThanOrEqualTo(Date value) {
			addCriterion("sync_time <=", value, "syncTime");
			return (Criteria) this;
		}

		public Criteria andSyncTimeIn(List<Date> values) {
			addCriterion("sync_time in", values, "syncTime");
			return (Criteria) this;
		}

		public Criteria andSyncTimeNotIn(List<Date> values) {
			addCriterion("sync_time not in", values, "syncTime");
			return (Criteria) this;
		}

		public Criteria andSyncTimeBetween(Date value1, Date value2) {
			addCriterion("sync_time between", value1, value2, "syncTime");
			return (Criteria) this;
		}

		public Criteria andSyncTimeNotBetween(Date value1, Date value2) {
			addCriterion("sync_time not between", value1, value2, "syncTime");
			return (Criteria) this;
		}

		public Criteria andEnterpriseIdIsNull() {
			addCriterion("enterprise_id is null");
			return (Criteria) this;
		}

		public Criteria andEnterpriseIdIsNotNull() {
			addCriterion("enterprise_id is not null");
			return (Criteria) this;
		}

		public Criteria andEnterpriseIdEqualTo(Long value) {
			addCriterion("enterprise_id =", value, "enterpriseId");
			return (Criteria) this;
		}

		public Criteria andEnterpriseIdNotEqualTo(Long value) {
			addCriterion("enterprise_id <>", value, "enterpriseId");
			return (Criteria) this;
		}

		public Criteria andEnterpriseIdGreaterThan(Long value) {
			addCriterion("enterprise_id >", value, "enterpriseId");
			return (Criteria) this;
		}

		public Criteria andEnterpriseIdGreaterThanOrEqualTo(Long value) {
			addCriterion("enterprise_id >=", value, "enterpriseId");
			return (Criteria) this;
		}

		public Criteria andEnterpriseIdLessThan(Long value) {
			addCriterion("enterprise_id <", value, "enterpriseId");
			return (Criteria) this;
		}

		public Criteria andEnterpriseIdLessThanOrEqualTo(Long value) {
			addCriterion("enterprise_id <=", value, "enterpriseId");
			return (Criteria) this;
		}

		public Criteria andEnterpriseIdIn(List<Long> values) {
			addCriterion("enterprise_id in", values, "enterpriseId");
			return (Criteria) this;
		}

		public Criteria andEnterpriseIdNotIn(List<Long> values) {
			addCriterion("enterprise_id not in", values, "enterpriseId");
			return (Criteria) this;
		}

		public Criteria andEnterpriseIdBetween(Long value1, Long value2) {
			addCriterion("enterprise_id between", value1, value2, "enterpriseId");
			return (Criteria) this;
		}

		public Criteria andEnterpriseIdNotBetween(Long value1, Long value2) {
			addCriterion("enterprise_id not between", value1, value2, "enterpriseId");
			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(Long value) {
			addCriterion("organization_id =", value, "organizationId");
			return (Criteria) this;
		}

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

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

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

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

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

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

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

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

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

		public Criteria andFundBalanceIsNull() {
			addCriterion("fund_balance is null");
			return (Criteria) this;
		}

		public Criteria andFundBalanceIsNotNull() {
			addCriterion("fund_balance is not null");
			return (Criteria) this;
		}

		public Criteria andFundBalanceEqualTo(BigDecimal value) {
			addCriterion("fund_balance =", value, "fundBalance");
			return (Criteria) this;
		}

		public Criteria andFundBalanceNotEqualTo(BigDecimal value) {
			addCriterion("fund_balance <>", value, "fundBalance");
			return (Criteria) this;
		}

		public Criteria andFundBalanceGreaterThan(BigDecimal value) {
			addCriterion("fund_balance >", value, "fundBalance");
			return (Criteria) this;
		}

		public Criteria andFundBalanceGreaterThanOrEqualTo(BigDecimal value) {
			addCriterion("fund_balance >=", value, "fundBalance");
			return (Criteria) this;
		}

		public Criteria andFundBalanceLessThan(BigDecimal value) {
			addCriterion("fund_balance <", value, "fundBalance");
			return (Criteria) this;
		}

		public Criteria andFundBalanceLessThanOrEqualTo(BigDecimal value) {
			addCriterion("fund_balance <=", value, "fundBalance");
			return (Criteria) this;
		}

		public Criteria andFundBalanceIn(List<BigDecimal> values) {
			addCriterion("fund_balance in", values, "fundBalance");
			return (Criteria) this;
		}

		public Criteria andFundBalanceNotIn(List<BigDecimal> values) {
			addCriterion("fund_balance not in", values, "fundBalance");
			return (Criteria) this;
		}

		public Criteria andFundBalanceBetween(BigDecimal value1, BigDecimal value2) {
			addCriterion("fund_balance between", value1, value2, "fundBalance");
			return (Criteria) this;
		}

		public Criteria andFundBalanceNotBetween(BigDecimal value1, BigDecimal value2) {
			addCriterion("fund_balance not between", value1, value2, "fundBalance");
			return (Criteria) this;
		}

		public Criteria andOtherField3IsNull() {
			addCriterion("other_field3 is null");
			return (Criteria) this;
		}

		public Criteria andOtherField3IsNotNull() {
			addCriterion("other_field3 is not null");
			return (Criteria) this;
		}

		public Criteria andOtherField3EqualTo(String value) {
			addCriterion("other_field3 =", value, "otherField3");
			return (Criteria) this;
		}

		public Criteria andOtherField3NotEqualTo(String value) {
			addCriterion("other_field3 <>", value, "otherField3");
			return (Criteria) this;
		}

		public Criteria andOtherField3GreaterThan(String value) {
			addCriterion("other_field3 >", value, "otherField3");
			return (Criteria) this;
		}

		public Criteria andOtherField3GreaterThanOrEqualTo(String value) {
			addCriterion("other_field3 >=", value, "otherField3");
			return (Criteria) this;
		}

		public Criteria andOtherField3LessThan(String value) {
			addCriterion("other_field3 <", value, "otherField3");
			return (Criteria) this;
		}

		public Criteria andOtherField3LessThanOrEqualTo(String value) {
			addCriterion("other_field3 <=", value, "otherField3");
			return (Criteria) this;
		}

		public Criteria andOtherField3Like(String value) {
			addCriterion("other_field3 like", value, "otherField3");
			return (Criteria) this;
		}

		public Criteria andOtherField3NotLike(String value) {
			addCriterion("other_field3 not like", value, "otherField3");
			return (Criteria) this;
		}

		public Criteria andOtherField3In(List<String> values) {
			addCriterion("other_field3 in", values, "otherField3");
			return (Criteria) this;
		}

		public Criteria andOtherField3NotIn(List<String> values) {
			addCriterion("other_field3 not in", values, "otherField3");
			return (Criteria) this;
		}

		public Criteria andOtherField3Between(String value1, String value2) {
			addCriterion("other_field3 between", value1, value2, "otherField3");
			return (Criteria) this;
		}

		public Criteria andOtherField3NotBetween(String value1, String value2) {
			addCriterion("other_field3 not between", value1, value2, "otherField3");
			return (Criteria) this;
		}

		public Criteria andOtherField1IsNull() {
			addCriterion("other_field1 is null");
			return (Criteria) this;
		}

		public Criteria andOtherField1IsNotNull() {
			addCriterion("other_field1 is not null");
			return (Criteria) this;
		}

		public Criteria andOtherField1EqualTo(String value) {
			addCriterion("other_field1 =", value, "otherField1");
			return (Criteria) this;
		}

		public Criteria andOtherField1NotEqualTo(String value) {
			addCriterion("other_field1 <>", value, "otherField1");
			return (Criteria) this;
		}

		public Criteria andOtherField1GreaterThan(String value) {
			addCriterion("other_field1 >", value, "otherField1");
			return (Criteria) this;
		}

		public Criteria andOtherField1GreaterThanOrEqualTo(String value) {
			addCriterion("other_field1 >=", value, "otherField1");
			return (Criteria) this;
		}

		public Criteria andOtherField1LessThan(String value) {
			addCriterion("other_field1 <", value, "otherField1");
			return (Criteria) this;
		}

		public Criteria andOtherField1LessThanOrEqualTo(String value) {
			addCriterion("other_field1 <=", value, "otherField1");
			return (Criteria) this;
		}

		public Criteria andOtherField1Like(String value) {
			addCriterion("other_field1 like", value, "otherField1");
			return (Criteria) this;
		}

		public Criteria andOtherField1NotLike(String value) {
			addCriterion("other_field1 not like", value, "otherField1");
			return (Criteria) this;
		}

		public Criteria andOtherField1In(List<String> values) {
			addCriterion("other_field1 in", values, "otherField1");
			return (Criteria) this;
		}

		public Criteria andOtherField1NotIn(List<String> values) {
			addCriterion("other_field1 not in", values, "otherField1");
			return (Criteria) this;
		}

		public Criteria andOtherField1Between(String value1, String value2) {
			addCriterion("other_field1 between", value1, value2, "otherField1");
			return (Criteria) this;
		}

		public Criteria andOtherField1NotBetween(String value1, String value2) {
			addCriterion("other_field1 not between", value1, value2, "otherField1");
			return (Criteria) this;
		}

		public Criteria andOtherField2IsNull() {
			addCriterion("other_field2 is null");
			return (Criteria) this;
		}

		public Criteria andOtherField2IsNotNull() {
			addCriterion("other_field2 is not null");
			return (Criteria) this;
		}

		public Criteria andOtherField2EqualTo(String value) {
			addCriterion("other_field2 =", value, "otherField2");
			return (Criteria) this;
		}

		public Criteria andOtherField2NotEqualTo(String value) {
			addCriterion("other_field2 <>", value, "otherField2");
			return (Criteria) this;
		}

		public Criteria andOtherField2GreaterThan(String value) {
			addCriterion("other_field2 >", value, "otherField2");
			return (Criteria) this;
		}

		public Criteria andOtherField2GreaterThanOrEqualTo(String value) {
			addCriterion("other_field2 >=", value, "otherField2");
			return (Criteria) this;
		}

		public Criteria andOtherField2LessThan(String value) {
			addCriterion("other_field2 <", value, "otherField2");
			return (Criteria) this;
		}

		public Criteria andOtherField2LessThanOrEqualTo(String value) {
			addCriterion("other_field2 <=", value, "otherField2");
			return (Criteria) this;
		}

		public Criteria andOtherField2Like(String value) {
			addCriterion("other_field2 like", value, "otherField2");
			return (Criteria) this;
		}

		public Criteria andOtherField2NotLike(String value) {
			addCriterion("other_field2 not like", value, "otherField2");
			return (Criteria) this;
		}

		public Criteria andOtherField2In(List<String> values) {
			addCriterion("other_field2 in", values, "otherField2");
			return (Criteria) this;
		}

		public Criteria andOtherField2NotIn(List<String> values) {
			addCriterion("other_field2 not in", values, "otherField2");
			return (Criteria) this;
		}

		public Criteria andOtherField2Between(String value1, String value2) {
			addCriterion("other_field2 between", value1, value2, "otherField2");
			return (Criteria) this;
		}

		public Criteria andOtherField2NotBetween(String value1, String value2) {
			addCriterion("other_field2 not between", value1, value2, "otherField2");
			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;

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

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