package net.wicp.tams.app.duckula.controller.bean.models;

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

public class SysOptitemExample {
    /**
	 * This field was generated by MyBatis Generator. This field corresponds to the database table sys_optitem
	 * @mbg.generated
	 */
	protected String orderByClause;
	/**
	 * This field was generated by MyBatis Generator. This field corresponds to the database table sys_optitem
	 * @mbg.generated
	 */
	protected boolean distinct;
	/**
	 * This field was generated by MyBatis Generator. This field corresponds to the database table sys_optitem
	 * @mbg.generated
	 */
	protected List<Criteria> oredCriteria;

	/**
	 * This method was generated by MyBatis Generator. This method corresponds to the database table sys_optitem
	 * @mbg.generated
	 */
	public SysOptitemExample() {
		oredCriteria = new ArrayList<>();
	}

	/**
	 * This method was generated by MyBatis Generator. This method corresponds to the database table sys_optitem
	 * @mbg.generated
	 */
	public void setOrderByClause(String orderByClause) {
		this.orderByClause = orderByClause;
	}

	/**
	 * This method was generated by MyBatis Generator. This method corresponds to the database table sys_optitem
	 * @mbg.generated
	 */
	public String getOrderByClause() {
		return orderByClause;
	}

	/**
	 * This method was generated by MyBatis Generator. This method corresponds to the database table sys_optitem
	 * @mbg.generated
	 */
	public void setDistinct(boolean distinct) {
		this.distinct = distinct;
	}

	/**
	 * This method was generated by MyBatis Generator. This method corresponds to the database table sys_optitem
	 * @mbg.generated
	 */
	public boolean isDistinct() {
		return distinct;
	}

	/**
	 * This method was generated by MyBatis Generator. This method corresponds to the database table sys_optitem
	 * @mbg.generated
	 */
	public List<Criteria> getOredCriteria() {
		return oredCriteria;
	}

	/**
	 * This method was generated by MyBatis Generator. This method corresponds to the database table sys_optitem
	 * @mbg.generated
	 */
	public void or(Criteria criteria) {
		oredCriteria.add(criteria);
	}

	/**
	 * This method was generated by MyBatis Generator. This method corresponds to the database table sys_optitem
	 * @mbg.generated
	 */
	public Criteria or() {
		Criteria criteria = createCriteriaInternal();
		oredCriteria.add(criteria);
		return criteria;
	}

	/**
	 * This method was generated by MyBatis Generator. This method corresponds to the database table sys_optitem
	 * @mbg.generated
	 */
	public Criteria createCriteria() {
		Criteria criteria = createCriteriaInternal();
		if (oredCriteria.size() == 0) {
			oredCriteria.add(criteria);
		}
		return criteria;
	}

	/**
	 * This method was generated by MyBatis Generator. This method corresponds to the database table sys_optitem
	 * @mbg.generated
	 */
	protected Criteria createCriteriaInternal() {
		Criteria criteria = new Criteria();
		return criteria;
	}

	/**
	 * This method was generated by MyBatis Generator. This method corresponds to the database table sys_optitem
	 * @mbg.generated
	 */
	public void clear() {
		oredCriteria.clear();
		orderByClause = null;
		distinct = false;
	}

	/**
	 * This class was generated by MyBatis Generator. This class corresponds to the database table sys_optitem
	 * @mbg.generated
	 */
	protected abstract static class GeneratedCriteria {
		protected List<Criterion> criteria;

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

		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 andItemCodeIsNull() {
			addCriterion("item_code is null");
			return (Criteria) this;
		}

		public Criteria andItemCodeIsNotNull() {
			addCriterion("item_code is not null");
			return (Criteria) this;
		}

		public Criteria andItemCodeEqualTo(String value) {
			addCriterion("item_code =", value, "itemCode");
			return (Criteria) this;
		}

		public Criteria andItemCodeNotEqualTo(String value) {
			addCriterion("item_code <>", value, "itemCode");
			return (Criteria) this;
		}

		public Criteria andItemCodeGreaterThan(String value) {
			addCriterion("item_code >", value, "itemCode");
			return (Criteria) this;
		}

		public Criteria andItemCodeGreaterThanOrEqualTo(String value) {
			addCriterion("item_code >=", value, "itemCode");
			return (Criteria) this;
		}

		public Criteria andItemCodeLessThan(String value) {
			addCriterion("item_code <", value, "itemCode");
			return (Criteria) this;
		}

		public Criteria andItemCodeLessThanOrEqualTo(String value) {
			addCriterion("item_code <=", value, "itemCode");
			return (Criteria) this;
		}

		public Criteria andItemCodeLike(String value) {
			addCriterion("item_code like", value, "itemCode");
			return (Criteria) this;
		}

		public Criteria andItemCodeNotLike(String value) {
			addCriterion("item_code not like", value, "itemCode");
			return (Criteria) this;
		}

		public Criteria andItemCodeIn(List<String> values) {
			addCriterion("item_code in", values, "itemCode");
			return (Criteria) this;
		}

		public Criteria andItemCodeNotIn(List<String> values) {
			addCriterion("item_code not in", values, "itemCode");
			return (Criteria) this;
		}

		public Criteria andItemCodeBetween(String value1, String value2) {
			addCriterion("item_code between", value1, value2, "itemCode");
			return (Criteria) this;
		}

		public Criteria andItemCodeNotBetween(String value1, String value2) {
			addCriterion("item_code not between", value1, value2, "itemCode");
			return (Criteria) this;
		}

		public Criteria andParentIdIsNull() {
			addCriterion("parent_id is null");
			return (Criteria) this;
		}

		public Criteria andParentIdIsNotNull() {
			addCriterion("parent_id is not null");
			return (Criteria) this;
		}

		public Criteria andParentIdEqualTo(Long value) {
			addCriterion("parent_id =", value, "parentId");
			return (Criteria) this;
		}

		public Criteria andParentIdNotEqualTo(Long value) {
			addCriterion("parent_id <>", value, "parentId");
			return (Criteria) this;
		}

		public Criteria andParentIdGreaterThan(Long value) {
			addCriterion("parent_id >", value, "parentId");
			return (Criteria) this;
		}

		public Criteria andParentIdGreaterThanOrEqualTo(Long value) {
			addCriterion("parent_id >=", value, "parentId");
			return (Criteria) this;
		}

		public Criteria andParentIdLessThan(Long value) {
			addCriterion("parent_id <", value, "parentId");
			return (Criteria) this;
		}

		public Criteria andParentIdLessThanOrEqualTo(Long value) {
			addCriterion("parent_id <=", value, "parentId");
			return (Criteria) this;
		}

		public Criteria andParentIdIn(List<Long> values) {
			addCriterion("parent_id in", values, "parentId");
			return (Criteria) this;
		}

		public Criteria andParentIdNotIn(List<Long> values) {
			addCriterion("parent_id not in", values, "parentId");
			return (Criteria) this;
		}

		public Criteria andParentIdBetween(Long value1, Long value2) {
			addCriterion("parent_id between", value1, value2, "parentId");
			return (Criteria) this;
		}

		public Criteria andParentIdNotBetween(Long value1, Long value2) {
			addCriterion("parent_id not between", value1, value2, "parentId");
			return (Criteria) this;
		}

		public Criteria andParentIdOldIsNull() {
			addCriterion("parent_id_old is null");
			return (Criteria) this;
		}

		public Criteria andParentIdOldIsNotNull() {
			addCriterion("parent_id_old is not null");
			return (Criteria) this;
		}

		public Criteria andParentIdOldEqualTo(Long value) {
			addCriterion("parent_id_old =", value, "parentIdOld");
			return (Criteria) this;
		}

		public Criteria andParentIdOldNotEqualTo(Long value) {
			addCriterion("parent_id_old <>", value, "parentIdOld");
			return (Criteria) this;
		}

		public Criteria andParentIdOldGreaterThan(Long value) {
			addCriterion("parent_id_old >", value, "parentIdOld");
			return (Criteria) this;
		}

		public Criteria andParentIdOldGreaterThanOrEqualTo(Long value) {
			addCriterion("parent_id_old >=", value, "parentIdOld");
			return (Criteria) this;
		}

		public Criteria andParentIdOldLessThan(Long value) {
			addCriterion("parent_id_old <", value, "parentIdOld");
			return (Criteria) this;
		}

		public Criteria andParentIdOldLessThanOrEqualTo(Long value) {
			addCriterion("parent_id_old <=", value, "parentIdOld");
			return (Criteria) this;
		}

		public Criteria andParentIdOldIn(List<Long> values) {
			addCriterion("parent_id_old in", values, "parentIdOld");
			return (Criteria) this;
		}

		public Criteria andParentIdOldNotIn(List<Long> values) {
			addCriterion("parent_id_old not in", values, "parentIdOld");
			return (Criteria) this;
		}

		public Criteria andParentIdOldBetween(Long value1, Long value2) {
			addCriterion("parent_id_old between", value1, value2, "parentIdOld");
			return (Criteria) this;
		}

		public Criteria andParentIdOldNotBetween(Long value1, Long value2) {
			addCriterion("parent_id_old not between", value1, value2, "parentIdOld");
			return (Criteria) this;
		}

		public Criteria andGroupCodeIsNull() {
			addCriterion("group_code is null");
			return (Criteria) this;
		}

		public Criteria andGroupCodeIsNotNull() {
			addCriterion("group_code is not null");
			return (Criteria) this;
		}

		public Criteria andGroupCodeEqualTo(String value) {
			addCriterion("group_code =", value, "groupCode");
			return (Criteria) this;
		}

		public Criteria andGroupCodeNotEqualTo(String value) {
			addCriterion("group_code <>", value, "groupCode");
			return (Criteria) this;
		}

		public Criteria andGroupCodeGreaterThan(String value) {
			addCriterion("group_code >", value, "groupCode");
			return (Criteria) this;
		}

		public Criteria andGroupCodeGreaterThanOrEqualTo(String value) {
			addCriterion("group_code >=", value, "groupCode");
			return (Criteria) this;
		}

		public Criteria andGroupCodeLessThan(String value) {
			addCriterion("group_code <", value, "groupCode");
			return (Criteria) this;
		}

		public Criteria andGroupCodeLessThanOrEqualTo(String value) {
			addCriterion("group_code <=", value, "groupCode");
			return (Criteria) this;
		}

		public Criteria andGroupCodeLike(String value) {
			addCriterion("group_code like", value, "groupCode");
			return (Criteria) this;
		}

		public Criteria andGroupCodeNotLike(String value) {
			addCriterion("group_code not like", value, "groupCode");
			return (Criteria) this;
		}

		public Criteria andGroupCodeIn(List<String> values) {
			addCriterion("group_code in", values, "groupCode");
			return (Criteria) this;
		}

		public Criteria andGroupCodeNotIn(List<String> values) {
			addCriterion("group_code not in", values, "groupCode");
			return (Criteria) this;
		}

		public Criteria andGroupCodeBetween(String value1, String value2) {
			addCriterion("group_code between", value1, value2, "groupCode");
			return (Criteria) this;
		}

		public Criteria andGroupCodeNotBetween(String value1, String value2) {
			addCriterion("group_code not between", value1, value2, "groupCode");
			return (Criteria) this;
		}

		public Criteria andNameZhIsNull() {
			addCriterion("name_zh is null");
			return (Criteria) this;
		}

		public Criteria andNameZhIsNotNull() {
			addCriterion("name_zh is not null");
			return (Criteria) this;
		}

		public Criteria andNameZhEqualTo(String value) {
			addCriterion("name_zh =", value, "nameZh");
			return (Criteria) this;
		}

		public Criteria andNameZhNotEqualTo(String value) {
			addCriterion("name_zh <>", value, "nameZh");
			return (Criteria) this;
		}

		public Criteria andNameZhGreaterThan(String value) {
			addCriterion("name_zh >", value, "nameZh");
			return (Criteria) this;
		}

		public Criteria andNameZhGreaterThanOrEqualTo(String value) {
			addCriterion("name_zh >=", value, "nameZh");
			return (Criteria) this;
		}

		public Criteria andNameZhLessThan(String value) {
			addCriterion("name_zh <", value, "nameZh");
			return (Criteria) this;
		}

		public Criteria andNameZhLessThanOrEqualTo(String value) {
			addCriterion("name_zh <=", value, "nameZh");
			return (Criteria) this;
		}

		public Criteria andNameZhLike(String value) {
			addCriterion("name_zh like", value, "nameZh");
			return (Criteria) this;
		}

		public Criteria andNameZhNotLike(String value) {
			addCriterion("name_zh not like", value, "nameZh");
			return (Criteria) this;
		}

		public Criteria andNameZhIn(List<String> values) {
			addCriterion("name_zh in", values, "nameZh");
			return (Criteria) this;
		}

		public Criteria andNameZhNotIn(List<String> values) {
			addCriterion("name_zh not in", values, "nameZh");
			return (Criteria) this;
		}

		public Criteria andNameZhBetween(String value1, String value2) {
			addCriterion("name_zh between", value1, value2, "nameZh");
			return (Criteria) this;
		}

		public Criteria andNameZhNotBetween(String value1, String value2) {
			addCriterion("name_zh not between", value1, value2, "nameZh");
			return (Criteria) this;
		}

		public Criteria andNameEnIsNull() {
			addCriterion("name_en is null");
			return (Criteria) this;
		}

		public Criteria andNameEnIsNotNull() {
			addCriterion("name_en is not null");
			return (Criteria) this;
		}

		public Criteria andNameEnEqualTo(String value) {
			addCriterion("name_en =", value, "nameEn");
			return (Criteria) this;
		}

		public Criteria andNameEnNotEqualTo(String value) {
			addCriterion("name_en <>", value, "nameEn");
			return (Criteria) this;
		}

		public Criteria andNameEnGreaterThan(String value) {
			addCriterion("name_en >", value, "nameEn");
			return (Criteria) this;
		}

		public Criteria andNameEnGreaterThanOrEqualTo(String value) {
			addCriterion("name_en >=", value, "nameEn");
			return (Criteria) this;
		}

		public Criteria andNameEnLessThan(String value) {
			addCriterion("name_en <", value, "nameEn");
			return (Criteria) this;
		}

		public Criteria andNameEnLessThanOrEqualTo(String value) {
			addCriterion("name_en <=", value, "nameEn");
			return (Criteria) this;
		}

		public Criteria andNameEnLike(String value) {
			addCriterion("name_en like", value, "nameEn");
			return (Criteria) this;
		}

		public Criteria andNameEnNotLike(String value) {
			addCriterion("name_en not like", value, "nameEn");
			return (Criteria) this;
		}

		public Criteria andNameEnIn(List<String> values) {
			addCriterion("name_en in", values, "nameEn");
			return (Criteria) this;
		}

		public Criteria andNameEnNotIn(List<String> values) {
			addCriterion("name_en not in", values, "nameEn");
			return (Criteria) this;
		}

		public Criteria andNameEnBetween(String value1, String value2) {
			addCriterion("name_en between", value1, value2, "nameEn");
			return (Criteria) this;
		}

		public Criteria andNameEnNotBetween(String value1, String value2) {
			addCriterion("name_en not between", value1, value2, "nameEn");
			return (Criteria) this;
		}

		public Criteria andOrderNoIsNull() {
			addCriterion("order_no is null");
			return (Criteria) this;
		}

		public Criteria andOrderNoIsNotNull() {
			addCriterion("order_no is not null");
			return (Criteria) this;
		}

		public Criteria andOrderNoEqualTo(Integer value) {
			addCriterion("order_no =", value, "orderNo");
			return (Criteria) this;
		}

		public Criteria andOrderNoNotEqualTo(Integer value) {
			addCriterion("order_no <>", value, "orderNo");
			return (Criteria) this;
		}

		public Criteria andOrderNoGreaterThan(Integer value) {
			addCriterion("order_no >", value, "orderNo");
			return (Criteria) this;
		}

		public Criteria andOrderNoGreaterThanOrEqualTo(Integer value) {
			addCriterion("order_no >=", value, "orderNo");
			return (Criteria) this;
		}

		public Criteria andOrderNoLessThan(Integer value) {
			addCriterion("order_no <", value, "orderNo");
			return (Criteria) this;
		}

		public Criteria andOrderNoLessThanOrEqualTo(Integer value) {
			addCriterion("order_no <=", value, "orderNo");
			return (Criteria) this;
		}

		public Criteria andOrderNoIn(List<Integer> values) {
			addCriterion("order_no in", values, "orderNo");
			return (Criteria) this;
		}

		public Criteria andOrderNoNotIn(List<Integer> values) {
			addCriterion("order_no not in", values, "orderNo");
			return (Criteria) this;
		}

		public Criteria andOrderNoBetween(Integer value1, Integer value2) {
			addCriterion("order_no between", value1, value2, "orderNo");
			return (Criteria) this;
		}

		public Criteria andOrderNoNotBetween(Integer value1, Integer value2) {
			addCriterion("order_no not between", value1, value2, "orderNo");
			return (Criteria) this;
		}

		public Criteria andField1IsNull() {
			addCriterion("field1 is null");
			return (Criteria) this;
		}

		public Criteria andField1IsNotNull() {
			addCriterion("field1 is not null");
			return (Criteria) this;
		}

		public Criteria andField1EqualTo(String value) {
			addCriterion("field1 =", value, "field1");
			return (Criteria) this;
		}

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

		public Criteria andField1GreaterThan(String value) {
			addCriterion("field1 >", value, "field1");
			return (Criteria) this;
		}

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

		public Criteria andField1LessThan(String value) {
			addCriterion("field1 <", value, "field1");
			return (Criteria) this;
		}

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

		public Criteria andField1Like(String value) {
			addCriterion("field1 like", value, "field1");
			return (Criteria) this;
		}

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

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

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

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

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

		public Criteria andField2IsNull() {
			addCriterion("field2 is null");
			return (Criteria) this;
		}

		public Criteria andField2IsNotNull() {
			addCriterion("field2 is not null");
			return (Criteria) this;
		}

		public Criteria andField2EqualTo(String value) {
			addCriterion("field2 =", value, "field2");
			return (Criteria) this;
		}

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

		public Criteria andField2GreaterThan(String value) {
			addCriterion("field2 >", value, "field2");
			return (Criteria) this;
		}

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

		public Criteria andField2LessThan(String value) {
			addCriterion("field2 <", value, "field2");
			return (Criteria) this;
		}

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

		public Criteria andField2Like(String value) {
			addCriterion("field2 like", value, "field2");
			return (Criteria) this;
		}

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

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

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

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

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

		public Criteria andField3IsNull() {
			addCriterion("field3 is null");
			return (Criteria) this;
		}

		public Criteria andField3IsNotNull() {
			addCriterion("field3 is not null");
			return (Criteria) this;
		}

		public Criteria andField3EqualTo(String value) {
			addCriterion("field3 =", value, "field3");
			return (Criteria) this;
		}

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

		public Criteria andField3GreaterThan(String value) {
			addCriterion("field3 >", value, "field3");
			return (Criteria) this;
		}

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

		public Criteria andField3LessThan(String value) {
			addCriterion("field3 <", value, "field3");
			return (Criteria) this;
		}

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

		public Criteria andField3Like(String value) {
			addCriterion("field3 like", value, "field3");
			return (Criteria) this;
		}

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

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

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

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

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

		public Criteria andField4IsNull() {
			addCriterion("field4 is null");
			return (Criteria) this;
		}

		public Criteria andField4IsNotNull() {
			addCriterion("field4 is not null");
			return (Criteria) this;
		}

		public Criteria andField4EqualTo(String value) {
			addCriterion("field4 =", value, "field4");
			return (Criteria) this;
		}

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

		public Criteria andField4GreaterThan(String value) {
			addCriterion("field4 >", value, "field4");
			return (Criteria) this;
		}

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

		public Criteria andField4LessThan(String value) {
			addCriterion("field4 <", value, "field4");
			return (Criteria) this;
		}

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

		public Criteria andField4Like(String value) {
			addCriterion("field4 like", value, "field4");
			return (Criteria) this;
		}

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

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

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

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

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

		public Criteria andRemarkIsNull() {
			addCriterion("remark is null");
			return (Criteria) this;
		}

		public Criteria andRemarkIsNotNull() {
			addCriterion("remark is not null");
			return (Criteria) this;
		}

		public Criteria andRemarkEqualTo(String value) {
			addCriterion("remark =", value, "remark");
			return (Criteria) this;
		}

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

		public Criteria andRemarkGreaterThan(String value) {
			addCriterion("remark >", value, "remark");
			return (Criteria) this;
		}

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

		public Criteria andRemarkLessThan(String value) {
			addCriterion("remark <", value, "remark");
			return (Criteria) this;
		}

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

		public Criteria andRemarkLike(String value) {
			addCriterion("remark like", value, "remark");
			return (Criteria) this;
		}

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

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

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

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

		public Criteria andRemarkNotBetween(String value1, String value2) {
			addCriterion("remark not between", value1, value2, "remark");
			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(String value) {
			addCriterion("status =", value, "status");
			return (Criteria) this;
		}

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

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

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

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

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

		public Criteria andStatusLike(String value) {
			addCriterion("status like", value, "status");
			return (Criteria) this;
		}

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

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

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

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

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

		public Criteria andStatusParentIsNull() {
			addCriterion("status_parent is null");
			return (Criteria) this;
		}

		public Criteria andStatusParentIsNotNull() {
			addCriterion("status_parent is not null");
			return (Criteria) this;
		}

		public Criteria andStatusParentEqualTo(String value) {
			addCriterion("status_parent =", value, "statusParent");
			return (Criteria) this;
		}

		public Criteria andStatusParentNotEqualTo(String value) {
			addCriterion("status_parent <>", value, "statusParent");
			return (Criteria) this;
		}

		public Criteria andStatusParentGreaterThan(String value) {
			addCriterion("status_parent >", value, "statusParent");
			return (Criteria) this;
		}

		public Criteria andStatusParentGreaterThanOrEqualTo(String value) {
			addCriterion("status_parent >=", value, "statusParent");
			return (Criteria) this;
		}

		public Criteria andStatusParentLessThan(String value) {
			addCriterion("status_parent <", value, "statusParent");
			return (Criteria) this;
		}

		public Criteria andStatusParentLessThanOrEqualTo(String value) {
			addCriterion("status_parent <=", value, "statusParent");
			return (Criteria) this;
		}

		public Criteria andStatusParentLike(String value) {
			addCriterion("status_parent like", value, "statusParent");
			return (Criteria) this;
		}

		public Criteria andStatusParentNotLike(String value) {
			addCriterion("status_parent not like", value, "statusParent");
			return (Criteria) this;
		}

		public Criteria andStatusParentIn(List<String> values) {
			addCriterion("status_parent in", values, "statusParent");
			return (Criteria) this;
		}

		public Criteria andStatusParentNotIn(List<String> values) {
			addCriterion("status_parent not in", values, "statusParent");
			return (Criteria) this;
		}

		public Criteria andStatusParentBetween(String value1, String value2) {
			addCriterion("status_parent between", value1, value2, "statusParent");
			return (Criteria) this;
		}

		public Criteria andStatusParentNotBetween(String value1, String value2) {
			addCriterion("status_parent not between", value1, value2, "statusParent");
			return (Criteria) this;
		}

		public Criteria andCreateTimeIsNull() {
			addCriterion("create_time is null");
			return (Criteria) this;
		}

		public Criteria andCreateTimeIsNotNull() {
			addCriterion("create_time is not null");
			return (Criteria) this;
		}

		public Criteria andCreateTimeEqualTo(Date value) {
			addCriterion("create_time =", value, "createTime");
			return (Criteria) this;
		}

		public Criteria andCreateTimeNotEqualTo(Date value) {
			addCriterion("create_time <>", value, "createTime");
			return (Criteria) this;
		}

		public Criteria andCreateTimeGreaterThan(Date value) {
			addCriterion("create_time >", value, "createTime");
			return (Criteria) this;
		}

		public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
			addCriterion("create_time >=", value, "createTime");
			return (Criteria) this;
		}

		public Criteria andCreateTimeLessThan(Date value) {
			addCriterion("create_time <", value, "createTime");
			return (Criteria) this;
		}

		public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
			addCriterion("create_time <=", value, "createTime");
			return (Criteria) this;
		}

		public Criteria andCreateTimeIn(List<Date> values) {
			addCriterion("create_time in", values, "createTime");
			return (Criteria) this;
		}

		public Criteria andCreateTimeNotIn(List<Date> values) {
			addCriterion("create_time not in", values, "createTime");
			return (Criteria) this;
		}

		public Criteria andCreateTimeBetween(Date value1, Date value2) {
			addCriterion("create_time between", value1, value2, "createTime");
			return (Criteria) this;
		}

		public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
			addCriterion("create_time not between", value1, value2, "createTime");
			return (Criteria) this;
		}
	}

	/**
	 * This class was generated by MyBatis Generator. This class corresponds to the database table sys_optitem
	 * @mbg.generated
	 */
	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);
		}
	}

	/**
     * This class was generated by MyBatis Generator.
     * This class corresponds to the database table sys_optitem
     *
     * @mbg.generated do_not_delete_during_merge
     */
    public static class Criteria extends GeneratedCriteria {
        protected Criteria() {
            super();
        }
    }
}