package com.goafanti.common.model;

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

public class PatentNewExample {
    /**
	 * This field was generated by MyBatis Generator. This field corresponds to the database table patent_new
	 * @mbg.generated  Wed May 08 14:33:37 CST 2019
	 */
	protected String orderByClause;
	/**
	 * This field was generated by MyBatis Generator. This field corresponds to the database table patent_new
	 * @mbg.generated  Wed May 08 14:33:37 CST 2019
	 */
	protected boolean distinct;
	/**
	 * This field was generated by MyBatis Generator. This field corresponds to the database table patent_new
	 * @mbg.generated  Wed May 08 14:33:37 CST 2019
	 */
	protected List<Criteria> oredCriteria;

	/**
	 * This method was generated by MyBatis Generator. This method corresponds to the database table patent_new
	 * @mbg.generated  Wed May 08 14:33:37 CST 2019
	 */
	public PatentNewExample() {
		oredCriteria = new ArrayList<Criteria>();
	}

	/**
	 * This method was generated by MyBatis Generator. This method corresponds to the database table patent_new
	 * @mbg.generated  Wed May 08 14:33:37 CST 2019
	 */
	public void setOrderByClause(String orderByClause) {
		this.orderByClause = orderByClause;
	}

	/**
	 * This method was generated by MyBatis Generator. This method corresponds to the database table patent_new
	 * @mbg.generated  Wed May 08 14:33:37 CST 2019
	 */
	public String getOrderByClause() {
		return orderByClause;
	}

	/**
	 * This method was generated by MyBatis Generator. This method corresponds to the database table patent_new
	 * @mbg.generated  Wed May 08 14:33:37 CST 2019
	 */
	public void setDistinct(boolean distinct) {
		this.distinct = distinct;
	}

	/**
	 * This method was generated by MyBatis Generator. This method corresponds to the database table patent_new
	 * @mbg.generated  Wed May 08 14:33:37 CST 2019
	 */
	public boolean isDistinct() {
		return distinct;
	}

	/**
	 * This method was generated by MyBatis Generator. This method corresponds to the database table patent_new
	 * @mbg.generated  Wed May 08 14:33:37 CST 2019
	 */
	public List<Criteria> getOredCriteria() {
		return oredCriteria;
	}

	/**
	 * This method was generated by MyBatis Generator. This method corresponds to the database table patent_new
	 * @mbg.generated  Wed May 08 14:33:37 CST 2019
	 */
	public void or(Criteria criteria) {
		oredCriteria.add(criteria);
	}

	/**
	 * This method was generated by MyBatis Generator. This method corresponds to the database table patent_new
	 * @mbg.generated  Wed May 08 14:33:37 CST 2019
	 */
	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 patent_new
	 * @mbg.generated  Wed May 08 14:33:37 CST 2019
	 */
	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 patent_new
	 * @mbg.generated  Wed May 08 14:33:37 CST 2019
	 */
	protected Criteria createCriteriaInternal() {
		Criteria criteria = new Criteria();
		return criteria;
	}

	/**
	 * This method was generated by MyBatis Generator. This method corresponds to the database table patent_new
	 * @mbg.generated  Wed May 08 14:33:37 CST 2019
	 */
	public void clear() {
		oredCriteria.clear();
		orderByClause = null;
		distinct = false;
	}

	/**
	 * This class was generated by MyBatis Generator. This class corresponds to the database table patent_new
	 * @mbg.generated  Wed May 08 14:33:37 CST 2019
	 */
	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));
		}

		protected void addCriterionForJDBCDate(String condition, Date value, String property) {
			if (value == null) {
				throw new RuntimeException("Value for " + property + " cannot be null");
			}
			addCriterion(condition, new java.sql.Date(value.getTime()), property);
		}

		protected void addCriterionForJDBCDate(String condition, List<Date> values, String property) {
			if (values == null || values.size() == 0) {
				throw new RuntimeException("Value list for " + property + " cannot be null or empty");
			}
			List<java.sql.Date> dateList = new ArrayList<java.sql.Date>();
			Iterator<Date> iter = values.iterator();
			while (iter.hasNext()) {
				dateList.add(new java.sql.Date(iter.next().getTime()));
			}
			addCriterion(condition, dateList, property);
		}

		protected void addCriterionForJDBCDate(String condition, Date value1, Date value2, String property) {
			if (value1 == null || value2 == null) {
				throw new RuntimeException("Between values for " + property + " cannot be null");
			}
			addCriterion(condition, new java.sql.Date(value1.getTime()), new java.sql.Date(value2.getTime()), property);
		}

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

		public Criteria andPatentNoIsNotNull() {
			addCriterion("patent_no is not null");
			return (Criteria) this;
		}

		public Criteria andPatentNoEqualTo(String value) {
			addCriterion("patent_no =", value, "patentNo");
			return (Criteria) this;
		}

		public Criteria andPatentNoNotEqualTo(String value) {
			addCriterion("patent_no <>", value, "patentNo");
			return (Criteria) this;
		}

		public Criteria andPatentNoGreaterThan(String value) {
			addCriterion("patent_no >", value, "patentNo");
			return (Criteria) this;
		}

		public Criteria andPatentNoGreaterThanOrEqualTo(String value) {
			addCriterion("patent_no >=", value, "patentNo");
			return (Criteria) this;
		}

		public Criteria andPatentNoLessThan(String value) {
			addCriterion("patent_no <", value, "patentNo");
			return (Criteria) this;
		}

		public Criteria andPatentNoLessThanOrEqualTo(String value) {
			addCriterion("patent_no <=", value, "patentNo");
			return (Criteria) this;
		}

		public Criteria andPatentNoLike(String value) {
			addCriterion("patent_no like", value, "patentNo");
			return (Criteria) this;
		}

		public Criteria andPatentNoNotLike(String value) {
			addCriterion("patent_no not like", value, "patentNo");
			return (Criteria) this;
		}

		public Criteria andPatentNoIn(List<String> values) {
			addCriterion("patent_no in", values, "patentNo");
			return (Criteria) this;
		}

		public Criteria andPatentNoNotIn(List<String> values) {
			addCriterion("patent_no not in", values, "patentNo");
			return (Criteria) this;
		}

		public Criteria andPatentNoBetween(String value1, String value2) {
			addCriterion("patent_no between", value1, value2, "patentNo");
			return (Criteria) this;
		}

		public Criteria andPatentNoNotBetween(String value1, String value2) {
			addCriterion("patent_no not between", value1, value2, "patentNo");
			return (Criteria) this;
		}

		public Criteria andNameIsNull() {
			addCriterion("name is null");
			return (Criteria) this;
		}

		public Criteria andNameIsNotNull() {
			addCriterion("name is not null");
			return (Criteria) this;
		}

		public Criteria andNameEqualTo(String value) {
			addCriterion("name =", value, "name");
			return (Criteria) this;
		}

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

		public Criteria andNameGreaterThan(String value) {
			addCriterion("name >", value, "name");
			return (Criteria) this;
		}

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

		public Criteria andNameLessThan(String value) {
			addCriterion("name <", value, "name");
			return (Criteria) this;
		}

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

		public Criteria andNameLike(String value) {
			addCriterion("name like", value, "name");
			return (Criteria) this;
		}

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

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

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

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

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

		public Criteria andTypeIsNull() {
			addCriterion("type is null");
			return (Criteria) this;
		}

		public Criteria andTypeIsNotNull() {
			addCriterion("type is not null");
			return (Criteria) this;
		}

		public Criteria andTypeEqualTo(Integer value) {
			addCriterion("type =", value, "type");
			return (Criteria) this;
		}

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

		public Criteria andTypeGreaterThan(Integer value) {
			addCriterion("type >", value, "type");
			return (Criteria) this;
		}

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

		public Criteria andTypeLessThan(Integer value) {
			addCriterion("type <", value, "type");
			return (Criteria) this;
		}

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

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

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

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

		public Criteria andTypeNotBetween(Integer value1, Integer value2) {
			addCriterion("type not between", value1, value2, "type");
			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 Criteria andApplyDateIsNull() {
			addCriterion("apply_date is null");
			return (Criteria) this;
		}

		public Criteria andApplyDateIsNotNull() {
			addCriterion("apply_date is not null");
			return (Criteria) this;
		}

		public Criteria andApplyDateEqualTo(Date value) {
			addCriterionForJDBCDate("apply_date =", value, "applyDate");
			return (Criteria) this;
		}

		public Criteria andApplyDateNotEqualTo(Date value) {
			addCriterionForJDBCDate("apply_date <>", value, "applyDate");
			return (Criteria) this;
		}

		public Criteria andApplyDateGreaterThan(Date value) {
			addCriterionForJDBCDate("apply_date >", value, "applyDate");
			return (Criteria) this;
		}

		public Criteria andApplyDateGreaterThanOrEqualTo(Date value) {
			addCriterionForJDBCDate("apply_date >=", value, "applyDate");
			return (Criteria) this;
		}

		public Criteria andApplyDateLessThan(Date value) {
			addCriterionForJDBCDate("apply_date <", value, "applyDate");
			return (Criteria) this;
		}

		public Criteria andApplyDateLessThanOrEqualTo(Date value) {
			addCriterionForJDBCDate("apply_date <=", value, "applyDate");
			return (Criteria) this;
		}

		public Criteria andApplyDateIn(List<Date> values) {
			addCriterionForJDBCDate("apply_date in", values, "applyDate");
			return (Criteria) this;
		}

		public Criteria andApplyDateNotIn(List<Date> values) {
			addCriterionForJDBCDate("apply_date not in", values, "applyDate");
			return (Criteria) this;
		}

		public Criteria andApplyDateBetween(Date value1, Date value2) {
			addCriterionForJDBCDate("apply_date between", value1, value2, "applyDate");
			return (Criteria) this;
		}

		public Criteria andApplyDateNotBetween(Date value1, Date value2) {
			addCriterionForJDBCDate("apply_date not between", value1, value2, "applyDate");
			return (Criteria) this;
		}

		public Criteria andAuthorizationDateIsNull() {
			addCriterion("authorization_date is null");
			return (Criteria) this;
		}

		public Criteria andAuthorizationDateIsNotNull() {
			addCriterion("authorization_date is not null");
			return (Criteria) this;
		}

		public Criteria andAuthorizationDateEqualTo(Date value) {
			addCriterionForJDBCDate("authorization_date =", value, "authorizationDate");
			return (Criteria) this;
		}

		public Criteria andAuthorizationDateNotEqualTo(Date value) {
			addCriterionForJDBCDate("authorization_date <>", value, "authorizationDate");
			return (Criteria) this;
		}

		public Criteria andAuthorizationDateGreaterThan(Date value) {
			addCriterionForJDBCDate("authorization_date >", value, "authorizationDate");
			return (Criteria) this;
		}

		public Criteria andAuthorizationDateGreaterThanOrEqualTo(Date value) {
			addCriterionForJDBCDate("authorization_date >=", value, "authorizationDate");
			return (Criteria) this;
		}

		public Criteria andAuthorizationDateLessThan(Date value) {
			addCriterionForJDBCDate("authorization_date <", value, "authorizationDate");
			return (Criteria) this;
		}

		public Criteria andAuthorizationDateLessThanOrEqualTo(Date value) {
			addCriterionForJDBCDate("authorization_date <=", value, "authorizationDate");
			return (Criteria) this;
		}

		public Criteria andAuthorizationDateIn(List<Date> values) {
			addCriterionForJDBCDate("authorization_date in", values, "authorizationDate");
			return (Criteria) this;
		}

		public Criteria andAuthorizationDateNotIn(List<Date> values) {
			addCriterionForJDBCDate("authorization_date not in", values, "authorizationDate");
			return (Criteria) this;
		}

		public Criteria andAuthorizationDateBetween(Date value1, Date value2) {
			addCriterionForJDBCDate("authorization_date between", value1, value2, "authorizationDate");
			return (Criteria) this;
		}

		public Criteria andAuthorizationDateNotBetween(Date value1, Date value2) {
			addCriterionForJDBCDate("authorization_date not between", value1, value2, "authorizationDate");
			return (Criteria) this;
		}

		public Criteria andPatentAmountIsNull() {
			addCriterion("patent_amount is null");
			return (Criteria) this;
		}

		public Criteria andPatentAmountIsNotNull() {
			addCriterion("patent_amount is not null");
			return (Criteria) this;
		}

		public Criteria andPatentAmountEqualTo(BigDecimal value) {
			addCriterion("patent_amount =", value, "patentAmount");
			return (Criteria) this;
		}

		public Criteria andPatentAmountNotEqualTo(BigDecimal value) {
			addCriterion("patent_amount <>", value, "patentAmount");
			return (Criteria) this;
		}

		public Criteria andPatentAmountGreaterThan(BigDecimal value) {
			addCriterion("patent_amount >", value, "patentAmount");
			return (Criteria) this;
		}

		public Criteria andPatentAmountGreaterThanOrEqualTo(BigDecimal value) {
			addCriterion("patent_amount >=", value, "patentAmount");
			return (Criteria) this;
		}

		public Criteria andPatentAmountLessThan(BigDecimal value) {
			addCriterion("patent_amount <", value, "patentAmount");
			return (Criteria) this;
		}

		public Criteria andPatentAmountLessThanOrEqualTo(BigDecimal value) {
			addCriterion("patent_amount <=", value, "patentAmount");
			return (Criteria) this;
		}

		public Criteria andPatentAmountIn(List<BigDecimal> values) {
			addCriterion("patent_amount in", values, "patentAmount");
			return (Criteria) this;
		}

		public Criteria andPatentAmountNotIn(List<BigDecimal> values) {
			addCriterion("patent_amount not in", values, "patentAmount");
			return (Criteria) this;
		}

		public Criteria andPatentAmountBetween(BigDecimal value1, BigDecimal value2) {
			addCriterion("patent_amount between", value1, value2, "patentAmount");
			return (Criteria) this;
		}

		public Criteria andPatentAmountNotBetween(BigDecimal value1, BigDecimal value2) {
			addCriterion("patent_amount not between", value1, value2, "patentAmount");
			return (Criteria) this;
		}

		public Criteria andApplicantIsNull() {
			addCriterion("applicant is null");
			return (Criteria) this;
		}

		public Criteria andApplicantIsNotNull() {
			addCriterion("applicant is not null");
			return (Criteria) this;
		}

		public Criteria andApplicantEqualTo(String value) {
			addCriterion("applicant =", value, "applicant");
			return (Criteria) this;
		}

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

		public Criteria andApplicantGreaterThan(String value) {
			addCriterion("applicant >", value, "applicant");
			return (Criteria) this;
		}

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

		public Criteria andApplicantLessThan(String value) {
			addCriterion("applicant <", value, "applicant");
			return (Criteria) this;
		}

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

		public Criteria andApplicantLike(String value) {
			addCriterion("applicant like", value, "applicant");
			return (Criteria) this;
		}

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

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

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

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

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

		public Criteria andProvinceIsNull() {
			addCriterion("province is null");
			return (Criteria) this;
		}

		public Criteria andProvinceIsNotNull() {
			addCriterion("province is not null");
			return (Criteria) this;
		}

		public Criteria andProvinceEqualTo(Integer value) {
			addCriterion("province =", value, "province");
			return (Criteria) this;
		}

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

		public Criteria andProvinceGreaterThan(Integer value) {
			addCriterion("province >", value, "province");
			return (Criteria) this;
		}

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

		public Criteria andProvinceLessThan(Integer value) {
			addCriterion("province <", value, "province");
			return (Criteria) this;
		}

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

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

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

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

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

		public Criteria andContactMobileIsNull() {
			addCriterion("contact_mobile is null");
			return (Criteria) this;
		}

		public Criteria andContactMobileIsNotNull() {
			addCriterion("contact_mobile is not null");
			return (Criteria) this;
		}

		public Criteria andContactMobileEqualTo(String value) {
			addCriterion("contact_mobile =", value, "contactMobile");
			return (Criteria) this;
		}

		public Criteria andContactMobileNotEqualTo(String value) {
			addCriterion("contact_mobile <>", value, "contactMobile");
			return (Criteria) this;
		}

		public Criteria andContactMobileGreaterThan(String value) {
			addCriterion("contact_mobile >", value, "contactMobile");
			return (Criteria) this;
		}

		public Criteria andContactMobileGreaterThanOrEqualTo(String value) {
			addCriterion("contact_mobile >=", value, "contactMobile");
			return (Criteria) this;
		}

		public Criteria andContactMobileLessThan(String value) {
			addCriterion("contact_mobile <", value, "contactMobile");
			return (Criteria) this;
		}

		public Criteria andContactMobileLessThanOrEqualTo(String value) {
			addCriterion("contact_mobile <=", value, "contactMobile");
			return (Criteria) this;
		}

		public Criteria andContactMobileLike(String value) {
			addCriterion("contact_mobile like", value, "contactMobile");
			return (Criteria) this;
		}

		public Criteria andContactMobileNotLike(String value) {
			addCriterion("contact_mobile not like", value, "contactMobile");
			return (Criteria) this;
		}

		public Criteria andContactMobileIn(List<String> values) {
			addCriterion("contact_mobile in", values, "contactMobile");
			return (Criteria) this;
		}

		public Criteria andContactMobileNotIn(List<String> values) {
			addCriterion("contact_mobile not in", values, "contactMobile");
			return (Criteria) this;
		}

		public Criteria andContactMobileBetween(String value1, String value2) {
			addCriterion("contact_mobile between", value1, value2, "contactMobile");
			return (Criteria) this;
		}

		public Criteria andContactMobileNotBetween(String value1, String value2) {
			addCriterion("contact_mobile not between", value1, value2, "contactMobile");
			return (Criteria) this;
		}

		public Criteria andEmailIsNull() {
			addCriterion("email is null");
			return (Criteria) this;
		}

		public Criteria andEmailIsNotNull() {
			addCriterion("email is not null");
			return (Criteria) this;
		}

		public Criteria andEmailEqualTo(String value) {
			addCriterion("email =", value, "email");
			return (Criteria) this;
		}

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

		public Criteria andEmailGreaterThan(String value) {
			addCriterion("email >", value, "email");
			return (Criteria) this;
		}

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

		public Criteria andEmailLessThan(String value) {
			addCriterion("email <", value, "email");
			return (Criteria) this;
		}

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

		public Criteria andEmailLike(String value) {
			addCriterion("email like", value, "email");
			return (Criteria) this;
		}

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

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

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

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

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

		public Criteria andCertificateUrlIsNull() {
			addCriterion("certificate_url is null");
			return (Criteria) this;
		}

		public Criteria andCertificateUrlIsNotNull() {
			addCriterion("certificate_url is not null");
			return (Criteria) this;
		}

		public Criteria andCertificateUrlEqualTo(String value) {
			addCriterion("certificate_url =", value, "certificateUrl");
			return (Criteria) this;
		}

		public Criteria andCertificateUrlNotEqualTo(String value) {
			addCriterion("certificate_url <>", value, "certificateUrl");
			return (Criteria) this;
		}

		public Criteria andCertificateUrlGreaterThan(String value) {
			addCriterion("certificate_url >", value, "certificateUrl");
			return (Criteria) this;
		}

		public Criteria andCertificateUrlGreaterThanOrEqualTo(String value) {
			addCriterion("certificate_url >=", value, "certificateUrl");
			return (Criteria) this;
		}

		public Criteria andCertificateUrlLessThan(String value) {
			addCriterion("certificate_url <", value, "certificateUrl");
			return (Criteria) this;
		}

		public Criteria andCertificateUrlLessThanOrEqualTo(String value) {
			addCriterion("certificate_url <=", value, "certificateUrl");
			return (Criteria) this;
		}

		public Criteria andCertificateUrlLike(String value) {
			addCriterion("certificate_url like", value, "certificateUrl");
			return (Criteria) this;
		}

		public Criteria andCertificateUrlNotLike(String value) {
			addCriterion("certificate_url not like", value, "certificateUrl");
			return (Criteria) this;
		}

		public Criteria andCertificateUrlIn(List<String> values) {
			addCriterion("certificate_url in", values, "certificateUrl");
			return (Criteria) this;
		}

		public Criteria andCertificateUrlNotIn(List<String> values) {
			addCriterion("certificate_url not in", values, "certificateUrl");
			return (Criteria) this;
		}

		public Criteria andCertificateUrlBetween(String value1, String value2) {
			addCriterion("certificate_url between", value1, value2, "certificateUrl");
			return (Criteria) this;
		}

		public Criteria andCertificateUrlNotBetween(String value1, String value2) {
			addCriterion("certificate_url not between", value1, value2, "certificateUrl");
			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;
		}

		public Criteria andUpdateTimeIsNull() {
			addCriterion("update_time is null");
			return (Criteria) this;
		}

		public Criteria andUpdateTimeIsNotNull() {
			addCriterion("update_time is not null");
			return (Criteria) this;
		}

		public Criteria andUpdateTimeEqualTo(Date value) {
			addCriterion("update_time =", value, "updateTime");
			return (Criteria) this;
		}

		public Criteria andUpdateTimeNotEqualTo(Date value) {
			addCriterion("update_time <>", value, "updateTime");
			return (Criteria) this;
		}

		public Criteria andUpdateTimeGreaterThan(Date value) {
			addCriterion("update_time >", value, "updateTime");
			return (Criteria) this;
		}

		public Criteria andUpdateTimeGreaterThanOrEqualTo(Date value) {
			addCriterion("update_time >=", value, "updateTime");
			return (Criteria) this;
		}

		public Criteria andUpdateTimeLessThan(Date value) {
			addCriterion("update_time <", value, "updateTime");
			return (Criteria) this;
		}

		public Criteria andUpdateTimeLessThanOrEqualTo(Date value) {
			addCriterion("update_time <=", value, "updateTime");
			return (Criteria) this;
		}

		public Criteria andUpdateTimeIn(List<Date> values) {
			addCriterion("update_time in", values, "updateTime");
			return (Criteria) this;
		}

		public Criteria andUpdateTimeNotIn(List<Date> values) {
			addCriterion("update_time not in", values, "updateTime");
			return (Criteria) this;
		}

		public Criteria andUpdateTimeBetween(Date value1, Date value2) {
			addCriterion("update_time between", value1, value2, "updateTime");
			return (Criteria) this;
		}

		public Criteria andUpdateTimeNotBetween(Date value1, Date value2) {
			addCriterion("update_time not between", value1, value2, "updateTime");
			return (Criteria) this;
		}

		public Criteria andAidIsNull() {
			addCriterion("aid is null");
			return (Criteria) this;
		}

		public Criteria andAidIsNotNull() {
			addCriterion("aid is not null");
			return (Criteria) this;
		}

		public Criteria andAidEqualTo(String value) {
			addCriterion("aid =", value, "aid");
			return (Criteria) this;
		}

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

		public Criteria andAidGreaterThan(String value) {
			addCriterion("aid >", value, "aid");
			return (Criteria) this;
		}

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

		public Criteria andAidLessThan(String value) {
			addCriterion("aid <", value, "aid");
			return (Criteria) this;
		}

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

		public Criteria andAidLike(String value) {
			addCriterion("aid like", value, "aid");
			return (Criteria) this;
		}

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

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

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

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

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

		public Criteria andYearsIsNull() {
			addCriterion("years is null");
			return (Criteria) this;
		}

		public Criteria andYearsIsNotNull() {
			addCriterion("years is not null");
			return (Criteria) this;
		}

		public Criteria andYearsEqualTo(Integer value) {
			addCriterion("years =", value, "years");
			return (Criteria) this;
		}

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

		public Criteria andYearsGreaterThan(Integer value) {
			addCriterion("years >", value, "years");
			return (Criteria) this;
		}

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

		public Criteria andYearsLessThan(Integer value) {
			addCriterion("years <", value, "years");
			return (Criteria) this;
		}

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

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

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

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

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

	/**
	 * This class was generated by MyBatis Generator. This class corresponds to the database table patent_new
	 * @mbg.generated  Wed May 08 14:33:37 CST 2019
	 */
	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 patent_new
     *
     * @mbg.generated do_not_delete_during_merge Mon Apr 22 10:59:42 CST 2019
     */
    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }
}