package com.yutou.nas.mybatis.model;

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

public class MusicDataExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public MusicDataExample() {
        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));
        }

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

        public Criteria andArtistIsNotNull() {
            addCriterion("artist is not null");
            return (Criteria) this;
        }

        public Criteria andArtistEqualTo(String value) {
            addCriterion("artist =", value, "artist");
            return (Criteria) this;
        }

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

        public Criteria andArtistGreaterThan(String value) {
            addCriterion("artist >", value, "artist");
            return (Criteria) this;
        }

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

        public Criteria andArtistLessThan(String value) {
            addCriterion("artist <", value, "artist");
            return (Criteria) this;
        }

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

        public Criteria andArtistLike(String value) {
            addCriterion("artist like", value, "artist");
            return (Criteria) this;
        }

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

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

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

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

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

        public Criteria andAlbumIsNull() {
            addCriterion("album is null");
            return (Criteria) this;
        }

        public Criteria andAlbumIsNotNull() {
            addCriterion("album is not null");
            return (Criteria) this;
        }

        public Criteria andAlbumEqualTo(String value) {
            addCriterion("album =", value, "album");
            return (Criteria) this;
        }

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

        public Criteria andAlbumGreaterThan(String value) {
            addCriterion("album >", value, "album");
            return (Criteria) this;
        }

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

        public Criteria andAlbumLessThan(String value) {
            addCriterion("album <", value, "album");
            return (Criteria) this;
        }

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

        public Criteria andAlbumLike(String value) {
            addCriterion("album like", value, "album");
            return (Criteria) this;
        }

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

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

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

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

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

        public Criteria andTitleIsNull() {
            addCriterion("title is null");
            return (Criteria) this;
        }

        public Criteria andTitleIsNotNull() {
            addCriterion("title is not null");
            return (Criteria) this;
        }

        public Criteria andTitleEqualTo(String value) {
            addCriterion("title =", value, "title");
            return (Criteria) this;
        }

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

        public Criteria andTitleGreaterThan(String value) {
            addCriterion("title >", value, "title");
            return (Criteria) this;
        }

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

        public Criteria andTitleLessThan(String value) {
            addCriterion("title <", value, "title");
            return (Criteria) this;
        }

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

        public Criteria andTitleLike(String value) {
            addCriterion("title like", value, "title");
            return (Criteria) this;
        }

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

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

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

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

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

        public Criteria andCommentIsNull() {
            addCriterion("`comment` is null");
            return (Criteria) this;
        }

        public Criteria andCommentIsNotNull() {
            addCriterion("`comment` is not null");
            return (Criteria) this;
        }

        public Criteria andCommentEqualTo(String value) {
            addCriterion("`comment` =", value, "comment");
            return (Criteria) this;
        }

        public Criteria andCommentNotEqualTo(String value) {
            addCriterion("`comment` <>", value, "comment");
            return (Criteria) this;
        }

        public Criteria andCommentGreaterThan(String value) {
            addCriterion("`comment` >", value, "comment");
            return (Criteria) this;
        }

        public Criteria andCommentGreaterThanOrEqualTo(String value) {
            addCriterion("`comment` >=", value, "comment");
            return (Criteria) this;
        }

        public Criteria andCommentLessThan(String value) {
            addCriterion("`comment` <", value, "comment");
            return (Criteria) this;
        }

        public Criteria andCommentLessThanOrEqualTo(String value) {
            addCriterion("`comment` <=", value, "comment");
            return (Criteria) this;
        }

        public Criteria andCommentLike(String value) {
            addCriterion("`comment` like", value, "comment");
            return (Criteria) this;
        }

        public Criteria andCommentNotLike(String value) {
            addCriterion("`comment` not like", value, "comment");
            return (Criteria) this;
        }

        public Criteria andCommentIn(List<String> values) {
            addCriterion("`comment` in", values, "comment");
            return (Criteria) this;
        }

        public Criteria andCommentNotIn(List<String> values) {
            addCriterion("`comment` not in", values, "comment");
            return (Criteria) this;
        }

        public Criteria andCommentBetween(String value1, String value2) {
            addCriterion("`comment` between", value1, value2, "comment");
            return (Criteria) this;
        }

        public Criteria andCommentNotBetween(String value1, String value2) {
            addCriterion("`comment` not between", value1, value2, "comment");
            return (Criteria) this;
        }

        public Criteria andYearIsNull() {
            addCriterion("`year` is null");
            return (Criteria) this;
        }

        public Criteria andYearIsNotNull() {
            addCriterion("`year` is not null");
            return (Criteria) this;
        }

        public Criteria andYearEqualTo(String value) {
            addCriterion("`year` =", value, "year");
            return (Criteria) this;
        }

        public Criteria andYearNotEqualTo(String value) {
            addCriterion("`year` <>", value, "year");
            return (Criteria) this;
        }

        public Criteria andYearGreaterThan(String value) {
            addCriterion("`year` >", value, "year");
            return (Criteria) this;
        }

        public Criteria andYearGreaterThanOrEqualTo(String value) {
            addCriterion("`year` >=", value, "year");
            return (Criteria) this;
        }

        public Criteria andYearLessThan(String value) {
            addCriterion("`year` <", value, "year");
            return (Criteria) this;
        }

        public Criteria andYearLessThanOrEqualTo(String value) {
            addCriterion("`year` <=", value, "year");
            return (Criteria) this;
        }

        public Criteria andYearLike(String value) {
            addCriterion("`year` like", value, "year");
            return (Criteria) this;
        }

        public Criteria andYearNotLike(String value) {
            addCriterion("`year` not like", value, "year");
            return (Criteria) this;
        }

        public Criteria andYearIn(List<String> values) {
            addCriterion("`year` in", values, "year");
            return (Criteria) this;
        }

        public Criteria andYearNotIn(List<String> values) {
            addCriterion("`year` not in", values, "year");
            return (Criteria) this;
        }

        public Criteria andYearBetween(String value1, String value2) {
            addCriterion("`year` between", value1, value2, "year");
            return (Criteria) this;
        }

        public Criteria andYearNotBetween(String value1, String value2) {
            addCriterion("`year` not between", value1, value2, "year");
            return (Criteria) this;
        }

        public Criteria andTrackIsNull() {
            addCriterion("track is null");
            return (Criteria) this;
        }

        public Criteria andTrackIsNotNull() {
            addCriterion("track is not null");
            return (Criteria) this;
        }

        public Criteria andTrackEqualTo(String value) {
            addCriterion("track =", value, "track");
            return (Criteria) this;
        }

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

        public Criteria andTrackGreaterThan(String value) {
            addCriterion("track >", value, "track");
            return (Criteria) this;
        }

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

        public Criteria andTrackLessThan(String value) {
            addCriterion("track <", value, "track");
            return (Criteria) this;
        }

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

        public Criteria andTrackLike(String value) {
            addCriterion("track like", value, "track");
            return (Criteria) this;
        }

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

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

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

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

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

        public Criteria andDiscNoIsNull() {
            addCriterion("disc_no is null");
            return (Criteria) this;
        }

        public Criteria andDiscNoIsNotNull() {
            addCriterion("disc_no is not null");
            return (Criteria) this;
        }

        public Criteria andDiscNoEqualTo(String value) {
            addCriterion("disc_no =", value, "discNo");
            return (Criteria) this;
        }

        public Criteria andDiscNoNotEqualTo(String value) {
            addCriterion("disc_no <>", value, "discNo");
            return (Criteria) this;
        }

        public Criteria andDiscNoGreaterThan(String value) {
            addCriterion("disc_no >", value, "discNo");
            return (Criteria) this;
        }

        public Criteria andDiscNoGreaterThanOrEqualTo(String value) {
            addCriterion("disc_no >=", value, "discNo");
            return (Criteria) this;
        }

        public Criteria andDiscNoLessThan(String value) {
            addCriterion("disc_no <", value, "discNo");
            return (Criteria) this;
        }

        public Criteria andDiscNoLessThanOrEqualTo(String value) {
            addCriterion("disc_no <=", value, "discNo");
            return (Criteria) this;
        }

        public Criteria andDiscNoLike(String value) {
            addCriterion("disc_no like", value, "discNo");
            return (Criteria) this;
        }

        public Criteria andDiscNoNotLike(String value) {
            addCriterion("disc_no not like", value, "discNo");
            return (Criteria) this;
        }

        public Criteria andDiscNoIn(List<String> values) {
            addCriterion("disc_no in", values, "discNo");
            return (Criteria) this;
        }

        public Criteria andDiscNoNotIn(List<String> values) {
            addCriterion("disc_no not in", values, "discNo");
            return (Criteria) this;
        }

        public Criteria andDiscNoBetween(String value1, String value2) {
            addCriterion("disc_no between", value1, value2, "discNo");
            return (Criteria) this;
        }

        public Criteria andDiscNoNotBetween(String value1, String value2) {
            addCriterion("disc_no not between", value1, value2, "discNo");
            return (Criteria) this;
        }

        public Criteria andComposerIsNull() {
            addCriterion("composer is null");
            return (Criteria) this;
        }

        public Criteria andComposerIsNotNull() {
            addCriterion("composer is not null");
            return (Criteria) this;
        }

        public Criteria andComposerEqualTo(String value) {
            addCriterion("composer =", value, "composer");
            return (Criteria) this;
        }

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

        public Criteria andComposerGreaterThan(String value) {
            addCriterion("composer >", value, "composer");
            return (Criteria) this;
        }

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

        public Criteria andComposerLessThan(String value) {
            addCriterion("composer <", value, "composer");
            return (Criteria) this;
        }

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

        public Criteria andComposerLike(String value) {
            addCriterion("composer like", value, "composer");
            return (Criteria) this;
        }

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

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

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

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

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

        public Criteria andArtistSortIsNull() {
            addCriterion("artist_sort is null");
            return (Criteria) this;
        }

        public Criteria andArtistSortIsNotNull() {
            addCriterion("artist_sort is not null");
            return (Criteria) this;
        }

        public Criteria andArtistSortEqualTo(String value) {
            addCriterion("artist_sort =", value, "artistSort");
            return (Criteria) this;
        }

        public Criteria andArtistSortNotEqualTo(String value) {
            addCriterion("artist_sort <>", value, "artistSort");
            return (Criteria) this;
        }

        public Criteria andArtistSortGreaterThan(String value) {
            addCriterion("artist_sort >", value, "artistSort");
            return (Criteria) this;
        }

        public Criteria andArtistSortGreaterThanOrEqualTo(String value) {
            addCriterion("artist_sort >=", value, "artistSort");
            return (Criteria) this;
        }

        public Criteria andArtistSortLessThan(String value) {
            addCriterion("artist_sort <", value, "artistSort");
            return (Criteria) this;
        }

        public Criteria andArtistSortLessThanOrEqualTo(String value) {
            addCriterion("artist_sort <=", value, "artistSort");
            return (Criteria) this;
        }

        public Criteria andArtistSortLike(String value) {
            addCriterion("artist_sort like", value, "artistSort");
            return (Criteria) this;
        }

        public Criteria andArtistSortNotLike(String value) {
            addCriterion("artist_sort not like", value, "artistSort");
            return (Criteria) this;
        }

        public Criteria andArtistSortIn(List<String> values) {
            addCriterion("artist_sort in", values, "artistSort");
            return (Criteria) this;
        }

        public Criteria andArtistSortNotIn(List<String> values) {
            addCriterion("artist_sort not in", values, "artistSort");
            return (Criteria) this;
        }

        public Criteria andArtistSortBetween(String value1, String value2) {
            addCriterion("artist_sort between", value1, value2, "artistSort");
            return (Criteria) this;
        }

        public Criteria andArtistSortNotBetween(String value1, String value2) {
            addCriterion("artist_sort not between", value1, value2, "artistSort");
            return (Criteria) this;
        }

        public Criteria andFileIsNull() {
            addCriterion("`file` is null");
            return (Criteria) this;
        }

        public Criteria andFileIsNotNull() {
            addCriterion("`file` is not null");
            return (Criteria) this;
        }

        public Criteria andFileEqualTo(String value) {
            addCriterion("`file` =", value, "file");
            return (Criteria) this;
        }

        public Criteria andFileNotEqualTo(String value) {
            addCriterion("`file` <>", value, "file");
            return (Criteria) this;
        }

        public Criteria andFileGreaterThan(String value) {
            addCriterion("`file` >", value, "file");
            return (Criteria) this;
        }

        public Criteria andFileGreaterThanOrEqualTo(String value) {
            addCriterion("`file` >=", value, "file");
            return (Criteria) this;
        }

        public Criteria andFileLessThan(String value) {
            addCriterion("`file` <", value, "file");
            return (Criteria) this;
        }

        public Criteria andFileLessThanOrEqualTo(String value) {
            addCriterion("`file` <=", value, "file");
            return (Criteria) this;
        }

        public Criteria andFileLike(String value) {
            addCriterion("`file` like", value, "file");
            return (Criteria) this;
        }

        public Criteria andFileNotLike(String value) {
            addCriterion("`file` not like", value, "file");
            return (Criteria) this;
        }

        public Criteria andFileIn(List<String> values) {
            addCriterion("`file` in", values, "file");
            return (Criteria) this;
        }

        public Criteria andFileNotIn(List<String> values) {
            addCriterion("`file` not in", values, "file");
            return (Criteria) this;
        }

        public Criteria andFileBetween(String value1, String value2) {
            addCriterion("`file` between", value1, value2, "file");
            return (Criteria) this;
        }

        public Criteria andFileNotBetween(String value1, String value2) {
            addCriterion("`file` not between", value1, value2, "file");
            return (Criteria) this;
        }

        public Criteria andLastdirIsNull() {
            addCriterion("lastDir is null");
            return (Criteria) this;
        }

        public Criteria andLastdirIsNotNull() {
            addCriterion("lastDir is not null");
            return (Criteria) this;
        }

        public Criteria andLastdirEqualTo(String value) {
            addCriterion("lastDir =", value, "lastdir");
            return (Criteria) this;
        }

        public Criteria andLastdirNotEqualTo(String value) {
            addCriterion("lastDir <>", value, "lastdir");
            return (Criteria) this;
        }

        public Criteria andLastdirGreaterThan(String value) {
            addCriterion("lastDir >", value, "lastdir");
            return (Criteria) this;
        }

        public Criteria andLastdirGreaterThanOrEqualTo(String value) {
            addCriterion("lastDir >=", value, "lastdir");
            return (Criteria) this;
        }

        public Criteria andLastdirLessThan(String value) {
            addCriterion("lastDir <", value, "lastdir");
            return (Criteria) this;
        }

        public Criteria andLastdirLessThanOrEqualTo(String value) {
            addCriterion("lastDir <=", value, "lastdir");
            return (Criteria) this;
        }

        public Criteria andLastdirLike(String value) {
            addCriterion("lastDir like", value, "lastdir");
            return (Criteria) this;
        }

        public Criteria andLastdirNotLike(String value) {
            addCriterion("lastDir not like", value, "lastdir");
            return (Criteria) this;
        }

        public Criteria andLastdirIn(List<String> values) {
            addCriterion("lastDir in", values, "lastdir");
            return (Criteria) this;
        }

        public Criteria andLastdirNotIn(List<String> values) {
            addCriterion("lastDir not in", values, "lastdir");
            return (Criteria) this;
        }

        public Criteria andLastdirBetween(String value1, String value2) {
            addCriterion("lastDir between", value1, value2, "lastdir");
            return (Criteria) this;
        }

        public Criteria andLastdirNotBetween(String value1, String value2) {
            addCriterion("lastDir not between", value1, value2, "lastdir");
            return (Criteria) this;
        }

        public Criteria andIsdirIsNull() {
            addCriterion("isDir is null");
            return (Criteria) this;
        }

        public Criteria andIsdirIsNotNull() {
            addCriterion("isDir is not null");
            return (Criteria) this;
        }

        public Criteria andIsdirEqualTo(Integer value) {
            addCriterion("isDir =", value, "isdir");
            return (Criteria) this;
        }

        public Criteria andIsdirNotEqualTo(Integer value) {
            addCriterion("isDir <>", value, "isdir");
            return (Criteria) this;
        }

        public Criteria andIsdirGreaterThan(Integer value) {
            addCriterion("isDir >", value, "isdir");
            return (Criteria) this;
        }

        public Criteria andIsdirGreaterThanOrEqualTo(Integer value) {
            addCriterion("isDir >=", value, "isdir");
            return (Criteria) this;
        }

        public Criteria andIsdirLessThan(Integer value) {
            addCriterion("isDir <", value, "isdir");
            return (Criteria) this;
        }

        public Criteria andIsdirLessThanOrEqualTo(Integer value) {
            addCriterion("isDir <=", value, "isdir");
            return (Criteria) this;
        }

        public Criteria andIsdirIn(List<Integer> values) {
            addCriterion("isDir in", values, "isdir");
            return (Criteria) this;
        }

        public Criteria andIsdirNotIn(List<Integer> values) {
            addCriterion("isDir not in", values, "isdir");
            return (Criteria) this;
        }

        public Criteria andIsdirBetween(Integer value1, Integer value2) {
            addCriterion("isDir between", value1, value2, "isdir");
            return (Criteria) this;
        }

        public Criteria andIsdirNotBetween(Integer value1, Integer value2) {
            addCriterion("isDir not between", value1, value2, "isdir");
            return (Criteria) this;
        }

        public Criteria andBitrateIsNull() {
            addCriterion("bitRate is null");
            return (Criteria) this;
        }

        public Criteria andBitrateIsNotNull() {
            addCriterion("bitRate is not null");
            return (Criteria) this;
        }

        public Criteria andBitrateEqualTo(Integer value) {
            addCriterion("bitRate =", value, "bitrate");
            return (Criteria) this;
        }

        public Criteria andBitrateNotEqualTo(Integer value) {
            addCriterion("bitRate <>", value, "bitrate");
            return (Criteria) this;
        }

        public Criteria andBitrateGreaterThan(Integer value) {
            addCriterion("bitRate >", value, "bitrate");
            return (Criteria) this;
        }

        public Criteria andBitrateGreaterThanOrEqualTo(Integer value) {
            addCriterion("bitRate >=", value, "bitrate");
            return (Criteria) this;
        }

        public Criteria andBitrateLessThan(Integer value) {
            addCriterion("bitRate <", value, "bitrate");
            return (Criteria) this;
        }

        public Criteria andBitrateLessThanOrEqualTo(Integer value) {
            addCriterion("bitRate <=", value, "bitrate");
            return (Criteria) this;
        }

        public Criteria andBitrateIn(List<Integer> values) {
            addCriterion("bitRate in", values, "bitrate");
            return (Criteria) this;
        }

        public Criteria andBitrateNotIn(List<Integer> values) {
            addCriterion("bitRate not in", values, "bitrate");
            return (Criteria) this;
        }

        public Criteria andBitrateBetween(Integer value1, Integer value2) {
            addCriterion("bitRate between", value1, value2, "bitrate");
            return (Criteria) this;
        }

        public Criteria andBitrateNotBetween(Integer value1, Integer value2) {
            addCriterion("bitRate not between", value1, value2, "bitrate");
            return (Criteria) this;
        }

        public Criteria andSamplerateIsNull() {
            addCriterion("sampleRate is null");
            return (Criteria) this;
        }

        public Criteria andSamplerateIsNotNull() {
            addCriterion("sampleRate is not null");
            return (Criteria) this;
        }

        public Criteria andSamplerateEqualTo(Integer value) {
            addCriterion("sampleRate =", value, "samplerate");
            return (Criteria) this;
        }

        public Criteria andSamplerateNotEqualTo(Integer value) {
            addCriterion("sampleRate <>", value, "samplerate");
            return (Criteria) this;
        }

        public Criteria andSamplerateGreaterThan(Integer value) {
            addCriterion("sampleRate >", value, "samplerate");
            return (Criteria) this;
        }

        public Criteria andSamplerateGreaterThanOrEqualTo(Integer value) {
            addCriterion("sampleRate >=", value, "samplerate");
            return (Criteria) this;
        }

        public Criteria andSamplerateLessThan(Integer value) {
            addCriterion("sampleRate <", value, "samplerate");
            return (Criteria) this;
        }

        public Criteria andSamplerateLessThanOrEqualTo(Integer value) {
            addCriterion("sampleRate <=", value, "samplerate");
            return (Criteria) this;
        }

        public Criteria andSamplerateIn(List<Integer> values) {
            addCriterion("sampleRate in", values, "samplerate");
            return (Criteria) this;
        }

        public Criteria andSamplerateNotIn(List<Integer> values) {
            addCriterion("sampleRate not in", values, "samplerate");
            return (Criteria) this;
        }

        public Criteria andSamplerateBetween(Integer value1, Integer value2) {
            addCriterion("sampleRate between", value1, value2, "samplerate");
            return (Criteria) this;
        }

        public Criteria andSamplerateNotBetween(Integer value1, Integer value2) {
            addCriterion("sampleRate not between", value1, value2, "samplerate");
            return (Criteria) this;
        }

        public Criteria andNoofsamplesIsNull() {
            addCriterion("noOfSamples is null");
            return (Criteria) this;
        }

        public Criteria andNoofsamplesIsNotNull() {
            addCriterion("noOfSamples is not null");
            return (Criteria) this;
        }

        public Criteria andNoofsamplesEqualTo(Long value) {
            addCriterion("noOfSamples =", value, "noofsamples");
            return (Criteria) this;
        }

        public Criteria andNoofsamplesNotEqualTo(Long value) {
            addCriterion("noOfSamples <>", value, "noofsamples");
            return (Criteria) this;
        }

        public Criteria andNoofsamplesGreaterThan(Long value) {
            addCriterion("noOfSamples >", value, "noofsamples");
            return (Criteria) this;
        }

        public Criteria andNoofsamplesGreaterThanOrEqualTo(Long value) {
            addCriterion("noOfSamples >=", value, "noofsamples");
            return (Criteria) this;
        }

        public Criteria andNoofsamplesLessThan(Long value) {
            addCriterion("noOfSamples <", value, "noofsamples");
            return (Criteria) this;
        }

        public Criteria andNoofsamplesLessThanOrEqualTo(Long value) {
            addCriterion("noOfSamples <=", value, "noofsamples");
            return (Criteria) this;
        }

        public Criteria andNoofsamplesIn(List<Long> values) {
            addCriterion("noOfSamples in", values, "noofsamples");
            return (Criteria) this;
        }

        public Criteria andNoofsamplesNotIn(List<Long> values) {
            addCriterion("noOfSamples not in", values, "noofsamples");
            return (Criteria) this;
        }

        public Criteria andNoofsamplesBetween(Long value1, Long value2) {
            addCriterion("noOfSamples between", value1, value2, "noofsamples");
            return (Criteria) this;
        }

        public Criteria andNoofsamplesNotBetween(Long value1, Long value2) {
            addCriterion("noOfSamples not between", value1, value2, "noofsamples");
            return (Criteria) this;
        }

        public Criteria andChannelcountIsNull() {
            addCriterion("channelCount is null");
            return (Criteria) this;
        }

        public Criteria andChannelcountIsNotNull() {
            addCriterion("channelCount is not null");
            return (Criteria) this;
        }

        public Criteria andChannelcountEqualTo(Integer value) {
            addCriterion("channelCount =", value, "channelcount");
            return (Criteria) this;
        }

        public Criteria andChannelcountNotEqualTo(Integer value) {
            addCriterion("channelCount <>", value, "channelcount");
            return (Criteria) this;
        }

        public Criteria andChannelcountGreaterThan(Integer value) {
            addCriterion("channelCount >", value, "channelcount");
            return (Criteria) this;
        }

        public Criteria andChannelcountGreaterThanOrEqualTo(Integer value) {
            addCriterion("channelCount >=", value, "channelcount");
            return (Criteria) this;
        }

        public Criteria andChannelcountLessThan(Integer value) {
            addCriterion("channelCount <", value, "channelcount");
            return (Criteria) this;
        }

        public Criteria andChannelcountLessThanOrEqualTo(Integer value) {
            addCriterion("channelCount <=", value, "channelcount");
            return (Criteria) this;
        }

        public Criteria andChannelcountIn(List<Integer> values) {
            addCriterion("channelCount in", values, "channelcount");
            return (Criteria) this;
        }

        public Criteria andChannelcountNotIn(List<Integer> values) {
            addCriterion("channelCount not in", values, "channelcount");
            return (Criteria) this;
        }

        public Criteria andChannelcountBetween(Integer value1, Integer value2) {
            addCriterion("channelCount between", value1, value2, "channelcount");
            return (Criteria) this;
        }

        public Criteria andChannelcountNotBetween(Integer value1, Integer value2) {
            addCriterion("channelCount not between", value1, value2, "channelcount");
            return (Criteria) this;
        }

        public Criteria andEncodingtypeIsNull() {
            addCriterion("encodingType is null");
            return (Criteria) this;
        }

        public Criteria andEncodingtypeIsNotNull() {
            addCriterion("encodingType is not null");
            return (Criteria) this;
        }

        public Criteria andEncodingtypeEqualTo(String value) {
            addCriterion("encodingType =", value, "encodingtype");
            return (Criteria) this;
        }

        public Criteria andEncodingtypeNotEqualTo(String value) {
            addCriterion("encodingType <>", value, "encodingtype");
            return (Criteria) this;
        }

        public Criteria andEncodingtypeGreaterThan(String value) {
            addCriterion("encodingType >", value, "encodingtype");
            return (Criteria) this;
        }

        public Criteria andEncodingtypeGreaterThanOrEqualTo(String value) {
            addCriterion("encodingType >=", value, "encodingtype");
            return (Criteria) this;
        }

        public Criteria andEncodingtypeLessThan(String value) {
            addCriterion("encodingType <", value, "encodingtype");
            return (Criteria) this;
        }

        public Criteria andEncodingtypeLessThanOrEqualTo(String value) {
            addCriterion("encodingType <=", value, "encodingtype");
            return (Criteria) this;
        }

        public Criteria andEncodingtypeLike(String value) {
            addCriterion("encodingType like", value, "encodingtype");
            return (Criteria) this;
        }

        public Criteria andEncodingtypeNotLike(String value) {
            addCriterion("encodingType not like", value, "encodingtype");
            return (Criteria) this;
        }

        public Criteria andEncodingtypeIn(List<String> values) {
            addCriterion("encodingType in", values, "encodingtype");
            return (Criteria) this;
        }

        public Criteria andEncodingtypeNotIn(List<String> values) {
            addCriterion("encodingType not in", values, "encodingtype");
            return (Criteria) this;
        }

        public Criteria andEncodingtypeBetween(String value1, String value2) {
            addCriterion("encodingType between", value1, value2, "encodingtype");
            return (Criteria) this;
        }

        public Criteria andEncodingtypeNotBetween(String value1, String value2) {
            addCriterion("encodingType not between", value1, value2, "encodingtype");
            return (Criteria) this;
        }

        public Criteria andDurationasdoubleIsNull() {
            addCriterion("durationAsDouble is null");
            return (Criteria) this;
        }

        public Criteria andDurationasdoubleIsNotNull() {
            addCriterion("durationAsDouble is not null");
            return (Criteria) this;
        }

        public Criteria andDurationasdoubleEqualTo(Double value) {
            addCriterion("durationAsDouble =", value, "durationasdouble");
            return (Criteria) this;
        }

        public Criteria andDurationasdoubleNotEqualTo(Double value) {
            addCriterion("durationAsDouble <>", value, "durationasdouble");
            return (Criteria) this;
        }

        public Criteria andDurationasdoubleGreaterThan(Double value) {
            addCriterion("durationAsDouble >", value, "durationasdouble");
            return (Criteria) this;
        }

        public Criteria andDurationasdoubleGreaterThanOrEqualTo(Double value) {
            addCriterion("durationAsDouble >=", value, "durationasdouble");
            return (Criteria) this;
        }

        public Criteria andDurationasdoubleLessThan(Double value) {
            addCriterion("durationAsDouble <", value, "durationasdouble");
            return (Criteria) this;
        }

        public Criteria andDurationasdoubleLessThanOrEqualTo(Double value) {
            addCriterion("durationAsDouble <=", value, "durationasdouble");
            return (Criteria) this;
        }

        public Criteria andDurationasdoubleIn(List<Double> values) {
            addCriterion("durationAsDouble in", values, "durationasdouble");
            return (Criteria) this;
        }

        public Criteria andDurationasdoubleNotIn(List<Double> values) {
            addCriterion("durationAsDouble not in", values, "durationasdouble");
            return (Criteria) this;
        }

        public Criteria andDurationasdoubleBetween(Double value1, Double value2) {
            addCriterion("durationAsDouble between", value1, value2, "durationasdouble");
            return (Criteria) this;
        }

        public Criteria andDurationasdoubleNotBetween(Double value1, Double value2) {
            addCriterion("durationAsDouble not between", value1, value2, "durationasdouble");
            return (Criteria) this;
        }

        public Criteria andLosslessIsNull() {
            addCriterion("lossless is null");
            return (Criteria) this;
        }

        public Criteria andLosslessIsNotNull() {
            addCriterion("lossless is not null");
            return (Criteria) this;
        }

        public Criteria andLosslessEqualTo(Integer value) {
            addCriterion("lossless =", value, "lossless");
            return (Criteria) this;
        }

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

        public Criteria andLosslessGreaterThan(Integer value) {
            addCriterion("lossless >", value, "lossless");
            return (Criteria) this;
        }

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

        public Criteria andLosslessLessThan(Integer value) {
            addCriterion("lossless <", value, "lossless");
            return (Criteria) this;
        }

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

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

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

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

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

        public Criteria andVariablebitrateIsNull() {
            addCriterion("variableBitRate is null");
            return (Criteria) this;
        }

        public Criteria andVariablebitrateIsNotNull() {
            addCriterion("variableBitRate is not null");
            return (Criteria) this;
        }

        public Criteria andVariablebitrateEqualTo(Integer value) {
            addCriterion("variableBitRate =", value, "variablebitrate");
            return (Criteria) this;
        }

        public Criteria andVariablebitrateNotEqualTo(Integer value) {
            addCriterion("variableBitRate <>", value, "variablebitrate");
            return (Criteria) this;
        }

        public Criteria andVariablebitrateGreaterThan(Integer value) {
            addCriterion("variableBitRate >", value, "variablebitrate");
            return (Criteria) this;
        }

        public Criteria andVariablebitrateGreaterThanOrEqualTo(Integer value) {
            addCriterion("variableBitRate >=", value, "variablebitrate");
            return (Criteria) this;
        }

        public Criteria andVariablebitrateLessThan(Integer value) {
            addCriterion("variableBitRate <", value, "variablebitrate");
            return (Criteria) this;
        }

        public Criteria andVariablebitrateLessThanOrEqualTo(Integer value) {
            addCriterion("variableBitRate <=", value, "variablebitrate");
            return (Criteria) this;
        }

        public Criteria andVariablebitrateIn(List<Integer> values) {
            addCriterion("variableBitRate in", values, "variablebitrate");
            return (Criteria) this;
        }

        public Criteria andVariablebitrateNotIn(List<Integer> values) {
            addCriterion("variableBitRate not in", values, "variablebitrate");
            return (Criteria) this;
        }

        public Criteria andVariablebitrateBetween(Integer value1, Integer value2) {
            addCriterion("variableBitRate between", value1, value2, "variablebitrate");
            return (Criteria) this;
        }

        public Criteria andVariablebitrateNotBetween(Integer value1, Integer value2) {
            addCriterion("variableBitRate not between", value1, value2, "variablebitrate");
            return (Criteria) this;
        }

        public Criteria andMd5IsNull() {
            addCriterion("md5 is null");
            return (Criteria) this;
        }

        public Criteria andMd5IsNotNull() {
            addCriterion("md5 is not null");
            return (Criteria) this;
        }

        public Criteria andMd5EqualTo(String value) {
            addCriterion("md5 =", value, "md5");
            return (Criteria) this;
        }

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

        public Criteria andMd5GreaterThan(String value) {
            addCriterion("md5 >", value, "md5");
            return (Criteria) this;
        }

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

        public Criteria andMd5LessThan(String value) {
            addCriterion("md5 <", value, "md5");
            return (Criteria) this;
        }

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

        public Criteria andMd5Like(String value) {
            addCriterion("md5 like", value, "md5");
            return (Criteria) this;
        }

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

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

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

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

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