package ${fullPackage}; #foreach ($import in $importList) import ${import}; #end import java.util.ArrayList; import java.util.Date; import java.util.Iterator; import java.util.List; import java.time.LocalDate; import java.time.LocalDateTime; public class ${ClassName}Example { protected String orderByClause; protected boolean distinct; protected List<Criteria> oredCriteria; public ${ClassName}Example() { oredCriteria = new ArrayList<>(); } 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; } 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)); } 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<>(); 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); } #foreach ($column in $columns) public Criteria and${column.capJavaField}IsNull() { addCriterion("${column.columnName} is null"); return (Criteria) this; } public Criteria and${column.capJavaField}IsNotNull() { addCriterion("${column.columnName} is not null"); return (Criteria) this; } public Criteria and${column.capJavaField}EqualTo(${column.javaType} value) { addCriterion("${column.columnName} =", value, "${column.javaField}"); return (Criteria) this; } public Criteria and${column.capJavaField}NotEqualTo(${column.javaType} value) { addCriterion("${column.columnName} <>", value, "${column.javaField}"); return (Criteria) this; } public Criteria and${column.capJavaField}GreaterThan(${column.javaType} value) { addCriterion("${column.columnName} >", value, "${column.javaField}"); return (Criteria) this; } public Criteria and${column.capJavaField}GreaterThanOrEqualTo(${column.javaType} value) { addCriterion("${column.columnName} >=", value, "${column.javaField}"); return (Criteria) this; } public Criteria and${column.capJavaField}LessThan(${column.javaType} value) { addCriterion("${column.columnName} <", value, "${column.javaField}"); return (Criteria) this; } public Criteria and${column.capJavaField}LessThanOrEqualTo(${column.javaType} value) { addCriterion("${column.columnName} <=", value, "${column.javaField}"); return (Criteria) this; } #if($column.javaType == 'String') public Criteria and${column.capJavaField}Like(${column.javaType} value) { addCriterion("${column.columnName} like", value, "${column.javaField}"); return (Criteria) this; } public Criteria and${column.capJavaField}NotLike(${column.javaType} value) { addCriterion("${column.columnName} not like", value, "${column.javaField}"); return (Criteria) this; } #end public Criteria and${column.capJavaField}In(List<${column.javaType}> values) { addCriterion("${column.columnName} in", values, "${column.javaField}"); return (Criteria) this; } public Criteria and${column.capJavaField}NotIn(List<${column.javaType}> values) { addCriterion("${column.columnName} not in", values, "${column.javaField}"); return (Criteria) this; } public Criteria and${column.capJavaField}Between(${column.javaType} value1, ${column.javaType} value2) { addCriterion("${column.columnName} between", value1, value2, "${column.javaField}"); return (Criteria) this; } public Criteria and${column.capJavaField}NotBetween(${column.javaType} value1, ${column.javaType} value2) { addCriterion("${column.columnName} not between", value1, value2, "${column.javaField}"); return (Criteria) this; } #end } 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); } } }