浏览代码

初始化shard表mapper

tianyun 3 年之前
父节点
当前提交
0755259ee4
共有 23 个文件被更改,包括 12871 次插入159 次删除
  1. 655 0
      book-dao/src/main/java/com/book/dao/cpsshard/entity/Consume.java
  2. 563 0
      book-dao/src/main/java/com/book/dao/cpsshard/entity/Recharge.java
  3. 379 0
      book-dao/src/main/java/com/book/dao/cpsshard/entity/Sign.java
  4. 471 0
      book-dao/src/main/java/com/book/dao/cpsshard/entity/UserRecentlyRead.java
  5. 204 0
      book-dao/src/main/java/com/book/dao/cpsshard/mapper/ConsumeMapper.java
  6. 164 0
      book-dao/src/main/java/com/book/dao/cpsshard/mapper/RechargeMapper.java
  7. 164 0
      book-dao/src/main/java/com/book/dao/cpsshard/mapper/SignMapper.java
  8. 164 0
      book-dao/src/main/java/com/book/dao/cpsshard/mapper/UserRecentlyReadMapper.java
  9. 2051 0
      book-dao/src/main/java/com/book/dao/cpsshard/pojo/example/ConsumeExample.java
  10. 1851 0
      book-dao/src/main/java/com/book/dao/cpsshard/pojo/example/RechargeExample.java
  11. 1101 0
      book-dao/src/main/java/com/book/dao/cpsshard/pojo/example/SignExample.java
  12. 1471 0
      book-dao/src/main/java/com/book/dao/cpsshard/pojo/example/UserRecentlyReadExample.java
  13. 38 38
      book-dao/src/main/java/com/book/dao/polardb/entity/AdUserGroupExtend.java
  14. 24 24
      book-dao/src/main/java/com/book/dao/polardb/mapper/AdUserGroupExtendMapper.java
  15. 40 40
      book-dao/src/main/java/com/book/dao/polardb/pojo/example/AdUserGroupExtendExample.java
  16. 1 1
      book-dao/src/main/resources/cps-mybatis-generator.xml
  17. 1133 0
      book-dao/src/main/resources/mapper/cpsshard/ConsumeMapper.xml
  18. 855 0
      book-dao/src/main/resources/mapper/cpsshard/RechargeMapper.xml
  19. 619 0
      book-dao/src/main/resources/mapper/cpsshard/SignMapper.xml
  20. 739 0
      book-dao/src/main/resources/mapper/cpsshard/UserRecentlyReadMapper.xml
  21. 40 40
      book-dao/src/main/resources/mapper/polar/AdUserGroupExtendMapper.xml
  22. 9 16
      book-dao/src/main/resources/mybatis-generator.xml
  23. 135 0
      book-dao/src/main/resources/polar-mybatis-generator.xml

+ 655 - 0
book-dao/src/main/java/com/book/dao/cpsshard/entity/Consume.java

@@ -0,0 +1,655 @@
+package com.book.dao.cpsshard.entity;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.Arrays;
+import lombok.Data;
+
+@Data
+public class Consume implements Serializable {
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column consume.id
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    private Long id;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column consume.user_id
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    private Long userId;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column consume.type
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    private String type;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column consume.book_id
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    private Long bookId;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column consume.book_name
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    private String bookName;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column consume.chapter_id
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    private Long chapterId;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column consume.chapter_name
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    private String chapterName;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column consume.kandian
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    private Integer kandian;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column consume.free_kandian
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    private Integer freeKandian;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column consume.extend1
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    private String extend1;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column consume.extend2
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    private String extend2;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column consume.createtime
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    private Integer createtime;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column consume.updatetime
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    private Integer updatetime;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column consume.business_line
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    private Byte businessLine;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column consume.dd_kandian
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    private Integer ddKandian;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column consume.dd_free_kandian
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    private Integer ddFreeKandian;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column consume.camp_info
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    private String campInfo;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column consume.consume_info
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    private String consumeInfo;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table consume
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table consume
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public static Consume.Builder builder() {
+        return new Consume.Builder();
+    }
+
+    /**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table consume
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public static class Builder {
+        /**
+         * This field was generated by MyBatis Generator.
+         * This field corresponds to the database table consume
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        private Consume obj;
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table consume
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public Builder() {
+            this.obj = new Consume();
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method sets the value of the database column consume.id
+         *
+         * @param id the value for consume.id
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public Builder id(Long id) {
+            obj.setId(id);
+            return this;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method sets the value of the database column consume.user_id
+         *
+         * @param userId the value for consume.user_id
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public Builder userId(Long userId) {
+            obj.setUserId(userId);
+            return this;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method sets the value of the database column consume.type
+         *
+         * @param type the value for consume.type
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public Builder type(String type) {
+            obj.setType(type);
+            return this;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method sets the value of the database column consume.book_id
+         *
+         * @param bookId the value for consume.book_id
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public Builder bookId(Long bookId) {
+            obj.setBookId(bookId);
+            return this;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method sets the value of the database column consume.book_name
+         *
+         * @param bookName the value for consume.book_name
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public Builder bookName(String bookName) {
+            obj.setBookName(bookName);
+            return this;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method sets the value of the database column consume.chapter_id
+         *
+         * @param chapterId the value for consume.chapter_id
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public Builder chapterId(Long chapterId) {
+            obj.setChapterId(chapterId);
+            return this;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method sets the value of the database column consume.chapter_name
+         *
+         * @param chapterName the value for consume.chapter_name
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public Builder chapterName(String chapterName) {
+            obj.setChapterName(chapterName);
+            return this;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method sets the value of the database column consume.kandian
+         *
+         * @param kandian the value for consume.kandian
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public Builder kandian(Integer kandian) {
+            obj.setKandian(kandian);
+            return this;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method sets the value of the database column consume.free_kandian
+         *
+         * @param freeKandian the value for consume.free_kandian
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public Builder freeKandian(Integer freeKandian) {
+            obj.setFreeKandian(freeKandian);
+            return this;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method sets the value of the database column consume.extend1
+         *
+         * @param extend1 the value for consume.extend1
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public Builder extend1(String extend1) {
+            obj.setExtend1(extend1);
+            return this;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method sets the value of the database column consume.extend2
+         *
+         * @param extend2 the value for consume.extend2
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public Builder extend2(String extend2) {
+            obj.setExtend2(extend2);
+            return this;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method sets the value of the database column consume.createtime
+         *
+         * @param createtime the value for consume.createtime
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public Builder createtime(Integer createtime) {
+            obj.setCreatetime(createtime);
+            return this;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method sets the value of the database column consume.updatetime
+         *
+         * @param updatetime the value for consume.updatetime
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public Builder updatetime(Integer updatetime) {
+            obj.setUpdatetime(updatetime);
+            return this;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method sets the value of the database column consume.business_line
+         *
+         * @param businessLine the value for consume.business_line
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public Builder businessLine(Byte businessLine) {
+            obj.setBusinessLine(businessLine);
+            return this;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method sets the value of the database column consume.dd_kandian
+         *
+         * @param ddKandian the value for consume.dd_kandian
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public Builder ddKandian(Integer ddKandian) {
+            obj.setDdKandian(ddKandian);
+            return this;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method sets the value of the database column consume.dd_free_kandian
+         *
+         * @param ddFreeKandian the value for consume.dd_free_kandian
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public Builder ddFreeKandian(Integer ddFreeKandian) {
+            obj.setDdFreeKandian(ddFreeKandian);
+            return this;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method sets the value of the database column consume.camp_info
+         *
+         * @param campInfo the value for consume.camp_info
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public Builder campInfo(String campInfo) {
+            obj.setCampInfo(campInfo);
+            return this;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method sets the value of the database column consume.consume_info
+         *
+         * @param consumeInfo the value for consume.consume_info
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public Builder consumeInfo(String consumeInfo) {
+            obj.setConsumeInfo(consumeInfo);
+            return this;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table consume
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public Consume build() {
+            return this.obj;
+        }
+    }
+
+    /**
+     * This enum was generated by MyBatis Generator.
+     * This enum corresponds to the database table consume
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public enum Column {
+        id("id", "id", "BIGINT", false),
+        userId("user_id", "userId", "BIGINT", false),
+        type("type", "type", "CHAR", false),
+        bookId("book_id", "bookId", "BIGINT", false),
+        bookName("book_name", "bookName", "VARCHAR", false),
+        chapterId("chapter_id", "chapterId", "BIGINT", false),
+        chapterName("chapter_name", "chapterName", "VARCHAR", false),
+        kandian("kandian", "kandian", "INTEGER", false),
+        freeKandian("free_kandian", "freeKandian", "INTEGER", false),
+        extend1("extend1", "extend1", "VARCHAR", false),
+        extend2("extend2", "extend2", "VARCHAR", false),
+        createtime("createtime", "createtime", "INTEGER", false),
+        updatetime("updatetime", "updatetime", "INTEGER", false),
+        businessLine("business_line", "businessLine", "TINYINT", false),
+        ddKandian("dd_kandian", "ddKandian", "INTEGER", false),
+        ddFreeKandian("dd_free_kandian", "ddFreeKandian", "INTEGER", false),
+        campInfo("camp_info", "campInfo", "LONGVARCHAR", false),
+        consumeInfo("consume_info", "consumeInfo", "LONGVARCHAR", false);
+
+        /**
+         * This field was generated by MyBatis Generator.
+         * This field corresponds to the database table consume
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        private static final String BEGINNING_DELIMITER = "\"";
+
+        /**
+         * This field was generated by MyBatis Generator.
+         * This field corresponds to the database table consume
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        private static final String ENDING_DELIMITER = "\"";
+
+        /**
+         * This field was generated by MyBatis Generator.
+         * This field corresponds to the database table consume
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        private final String column;
+
+        /**
+         * This field was generated by MyBatis Generator.
+         * This field corresponds to the database table consume
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        private final boolean isColumnNameDelimited;
+
+        /**
+         * This field was generated by MyBatis Generator.
+         * This field corresponds to the database table consume
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        private final String javaProperty;
+
+        /**
+         * This field was generated by MyBatis Generator.
+         * This field corresponds to the database table consume
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        private final String jdbcType;
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table consume
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public String value() {
+            return this.column;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table consume
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public String getValue() {
+            return this.column;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table consume
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public String getJavaProperty() {
+            return this.javaProperty;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table consume
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public String getJdbcType() {
+            return this.jdbcType;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table consume
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        Column(String column, String javaProperty, String jdbcType, boolean isColumnNameDelimited) {
+            this.column = column;
+            this.javaProperty = javaProperty;
+            this.jdbcType = jdbcType;
+            this.isColumnNameDelimited = isColumnNameDelimited;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table consume
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public String desc() {
+            return this.getEscapedColumnName() + " DESC";
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table consume
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public String asc() {
+            return this.getEscapedColumnName() + " ASC";
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table consume
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public static Column[] excludes(Column ... excludes) {
+            ArrayList<Column> columns = new ArrayList<>(Arrays.asList(Column.values()));
+            if (excludes != null && excludes.length > 0) {
+                columns.removeAll(new ArrayList<>(Arrays.asList(excludes)));
+            }
+            return columns.toArray(new Column[]{});
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table consume
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public static Column[] all() {
+            return Column.values();
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table consume
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public String getEscapedColumnName() {
+            if (this.isColumnNameDelimited) {
+                return new StringBuilder().append(BEGINNING_DELIMITER).append(this.column).append(ENDING_DELIMITER).toString();
+            } else {
+                return this.column;
+            }
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table consume
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public String getAliasedEscapedColumnName() {
+            return this.getEscapedColumnName();
+        }
+    }
+}

+ 563 - 0
book-dao/src/main/java/com/book/dao/cpsshard/entity/Recharge.java

@@ -0,0 +1,563 @@
+package com.book.dao.cpsshard.entity;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.Arrays;
+import lombok.Data;
+
+@Data
+public class Recharge implements Serializable {
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column recharge.id
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    private Long id;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column recharge.user_id
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    private Long userId;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column recharge.type
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    private String type;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column recharge.kandian
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    private Integer kandian;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column recharge.free_kandian
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    private Integer freeKandian;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column recharge.remain_free_kandian
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    private Integer remainFreeKandian;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column recharge.free_endtime
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    private Integer freeEndtime;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column recharge.day
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    private Integer day;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column recharge.hour
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    private Byte hour;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column recharge.book_id
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    private Long bookId;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column recharge.createtime
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    private Integer createtime;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column recharge.updatetime
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    private Integer updatetime;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column recharge.notes
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    private String notes;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column recharge.edit_type
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    private String editType;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table recharge
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table recharge
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public static Recharge.Builder builder() {
+        return new Recharge.Builder();
+    }
+
+    /**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table recharge
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public static class Builder {
+        /**
+         * This field was generated by MyBatis Generator.
+         * This field corresponds to the database table recharge
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        private Recharge obj;
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table recharge
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public Builder() {
+            this.obj = new Recharge();
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method sets the value of the database column recharge.id
+         *
+         * @param id the value for recharge.id
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public Builder id(Long id) {
+            obj.setId(id);
+            return this;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method sets the value of the database column recharge.user_id
+         *
+         * @param userId the value for recharge.user_id
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public Builder userId(Long userId) {
+            obj.setUserId(userId);
+            return this;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method sets the value of the database column recharge.type
+         *
+         * @param type the value for recharge.type
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public Builder type(String type) {
+            obj.setType(type);
+            return this;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method sets the value of the database column recharge.kandian
+         *
+         * @param kandian the value for recharge.kandian
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public Builder kandian(Integer kandian) {
+            obj.setKandian(kandian);
+            return this;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method sets the value of the database column recharge.free_kandian
+         *
+         * @param freeKandian the value for recharge.free_kandian
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public Builder freeKandian(Integer freeKandian) {
+            obj.setFreeKandian(freeKandian);
+            return this;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method sets the value of the database column recharge.remain_free_kandian
+         *
+         * @param remainFreeKandian the value for recharge.remain_free_kandian
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public Builder remainFreeKandian(Integer remainFreeKandian) {
+            obj.setRemainFreeKandian(remainFreeKandian);
+            return this;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method sets the value of the database column recharge.free_endtime
+         *
+         * @param freeEndtime the value for recharge.free_endtime
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public Builder freeEndtime(Integer freeEndtime) {
+            obj.setFreeEndtime(freeEndtime);
+            return this;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method sets the value of the database column recharge.day
+         *
+         * @param day the value for recharge.day
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public Builder day(Integer day) {
+            obj.setDay(day);
+            return this;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method sets the value of the database column recharge.hour
+         *
+         * @param hour the value for recharge.hour
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public Builder hour(Byte hour) {
+            obj.setHour(hour);
+            return this;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method sets the value of the database column recharge.book_id
+         *
+         * @param bookId the value for recharge.book_id
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public Builder bookId(Long bookId) {
+            obj.setBookId(bookId);
+            return this;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method sets the value of the database column recharge.createtime
+         *
+         * @param createtime the value for recharge.createtime
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public Builder createtime(Integer createtime) {
+            obj.setCreatetime(createtime);
+            return this;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method sets the value of the database column recharge.updatetime
+         *
+         * @param updatetime the value for recharge.updatetime
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public Builder updatetime(Integer updatetime) {
+            obj.setUpdatetime(updatetime);
+            return this;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method sets the value of the database column recharge.notes
+         *
+         * @param notes the value for recharge.notes
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public Builder notes(String notes) {
+            obj.setNotes(notes);
+            return this;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method sets the value of the database column recharge.edit_type
+         *
+         * @param editType the value for recharge.edit_type
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public Builder editType(String editType) {
+            obj.setEditType(editType);
+            return this;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table recharge
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public Recharge build() {
+            return this.obj;
+        }
+    }
+
+    /**
+     * This enum was generated by MyBatis Generator.
+     * This enum corresponds to the database table recharge
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public enum Column {
+        id("id", "id", "BIGINT", false),
+        userId("user_id", "userId", "BIGINT", false),
+        type("type", "type", "CHAR", false),
+        kandian("kandian", "kandian", "INTEGER", false),
+        freeKandian("free_kandian", "freeKandian", "INTEGER", false),
+        remainFreeKandian("remain_free_kandian", "remainFreeKandian", "INTEGER", false),
+        freeEndtime("free_endtime", "freeEndtime", "INTEGER", false),
+        day("day", "day", "INTEGER", false),
+        hour("hour", "hour", "TINYINT", false),
+        bookId("book_id", "bookId", "BIGINT", false),
+        createtime("createtime", "createtime", "INTEGER", false),
+        updatetime("updatetime", "updatetime", "INTEGER", false),
+        notes("notes", "notes", "VARCHAR", false),
+        editType("edit_type", "editType", "CHAR", false);
+
+        /**
+         * This field was generated by MyBatis Generator.
+         * This field corresponds to the database table recharge
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        private static final String BEGINNING_DELIMITER = "\"";
+
+        /**
+         * This field was generated by MyBatis Generator.
+         * This field corresponds to the database table recharge
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        private static final String ENDING_DELIMITER = "\"";
+
+        /**
+         * This field was generated by MyBatis Generator.
+         * This field corresponds to the database table recharge
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        private final String column;
+
+        /**
+         * This field was generated by MyBatis Generator.
+         * This field corresponds to the database table recharge
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        private final boolean isColumnNameDelimited;
+
+        /**
+         * This field was generated by MyBatis Generator.
+         * This field corresponds to the database table recharge
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        private final String javaProperty;
+
+        /**
+         * This field was generated by MyBatis Generator.
+         * This field corresponds to the database table recharge
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        private final String jdbcType;
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table recharge
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public String value() {
+            return this.column;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table recharge
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public String getValue() {
+            return this.column;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table recharge
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public String getJavaProperty() {
+            return this.javaProperty;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table recharge
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public String getJdbcType() {
+            return this.jdbcType;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table recharge
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        Column(String column, String javaProperty, String jdbcType, boolean isColumnNameDelimited) {
+            this.column = column;
+            this.javaProperty = javaProperty;
+            this.jdbcType = jdbcType;
+            this.isColumnNameDelimited = isColumnNameDelimited;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table recharge
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public String desc() {
+            return this.getEscapedColumnName() + " DESC";
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table recharge
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public String asc() {
+            return this.getEscapedColumnName() + " ASC";
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table recharge
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public static Column[] excludes(Column ... excludes) {
+            ArrayList<Column> columns = new ArrayList<>(Arrays.asList(Column.values()));
+            if (excludes != null && excludes.length > 0) {
+                columns.removeAll(new ArrayList<>(Arrays.asList(excludes)));
+            }
+            return columns.toArray(new Column[]{});
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table recharge
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public static Column[] all() {
+            return Column.values();
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table recharge
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public String getEscapedColumnName() {
+            if (this.isColumnNameDelimited) {
+                return new StringBuilder().append(BEGINNING_DELIMITER).append(this.column).append(ENDING_DELIMITER).toString();
+            } else {
+                return this.column;
+            }
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table recharge
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public String getAliasedEscapedColumnName() {
+            return this.getEscapedColumnName();
+        }
+    }
+}

+ 379 - 0
book-dao/src/main/java/com/book/dao/cpsshard/entity/Sign.java

@@ -0,0 +1,379 @@
+package com.book.dao.cpsshard.entity;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.Arrays;
+import lombok.Data;
+
+@Data
+public class Sign implements Serializable {
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column sign.id
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    private Integer id;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column sign.uid
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    private Integer uid;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column sign.kandian
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    private Integer kandian;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column sign.days
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    private Byte days;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column sign.createdate
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    private Integer createdate;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column sign.createtime
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    private Integer createtime;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table sign
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table sign
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public static Sign.Builder builder() {
+        return new Sign.Builder();
+    }
+
+    /**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table sign
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public static class Builder {
+        /**
+         * This field was generated by MyBatis Generator.
+         * This field corresponds to the database table sign
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        private Sign obj;
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table sign
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public Builder() {
+            this.obj = new Sign();
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method sets the value of the database column sign.id
+         *
+         * @param id the value for sign.id
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public Builder id(Integer id) {
+            obj.setId(id);
+            return this;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method sets the value of the database column sign.uid
+         *
+         * @param uid the value for sign.uid
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public Builder uid(Integer uid) {
+            obj.setUid(uid);
+            return this;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method sets the value of the database column sign.kandian
+         *
+         * @param kandian the value for sign.kandian
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public Builder kandian(Integer kandian) {
+            obj.setKandian(kandian);
+            return this;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method sets the value of the database column sign.days
+         *
+         * @param days the value for sign.days
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public Builder days(Byte days) {
+            obj.setDays(days);
+            return this;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method sets the value of the database column sign.createdate
+         *
+         * @param createdate the value for sign.createdate
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public Builder createdate(Integer createdate) {
+            obj.setCreatedate(createdate);
+            return this;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method sets the value of the database column sign.createtime
+         *
+         * @param createtime the value for sign.createtime
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public Builder createtime(Integer createtime) {
+            obj.setCreatetime(createtime);
+            return this;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table sign
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public Sign build() {
+            return this.obj;
+        }
+    }
+
+    /**
+     * This enum was generated by MyBatis Generator.
+     * This enum corresponds to the database table sign
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public enum Column {
+        id("id", "id", "INTEGER", false),
+        uid("uid", "uid", "INTEGER", false),
+        kandian("kandian", "kandian", "INTEGER", false),
+        days("days", "days", "TINYINT", false),
+        createdate("createdate", "createdate", "INTEGER", false),
+        createtime("createtime", "createtime", "INTEGER", false);
+
+        /**
+         * This field was generated by MyBatis Generator.
+         * This field corresponds to the database table sign
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        private static final String BEGINNING_DELIMITER = "\"";
+
+        /**
+         * This field was generated by MyBatis Generator.
+         * This field corresponds to the database table sign
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        private static final String ENDING_DELIMITER = "\"";
+
+        /**
+         * This field was generated by MyBatis Generator.
+         * This field corresponds to the database table sign
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        private final String column;
+
+        /**
+         * This field was generated by MyBatis Generator.
+         * This field corresponds to the database table sign
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        private final boolean isColumnNameDelimited;
+
+        /**
+         * This field was generated by MyBatis Generator.
+         * This field corresponds to the database table sign
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        private final String javaProperty;
+
+        /**
+         * This field was generated by MyBatis Generator.
+         * This field corresponds to the database table sign
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        private final String jdbcType;
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table sign
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public String value() {
+            return this.column;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table sign
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public String getValue() {
+            return this.column;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table sign
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public String getJavaProperty() {
+            return this.javaProperty;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table sign
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public String getJdbcType() {
+            return this.jdbcType;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table sign
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        Column(String column, String javaProperty, String jdbcType, boolean isColumnNameDelimited) {
+            this.column = column;
+            this.javaProperty = javaProperty;
+            this.jdbcType = jdbcType;
+            this.isColumnNameDelimited = isColumnNameDelimited;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table sign
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public String desc() {
+            return this.getEscapedColumnName() + " DESC";
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table sign
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public String asc() {
+            return this.getEscapedColumnName() + " ASC";
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table sign
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public static Column[] excludes(Column ... excludes) {
+            ArrayList<Column> columns = new ArrayList<>(Arrays.asList(Column.values()));
+            if (excludes != null && excludes.length > 0) {
+                columns.removeAll(new ArrayList<>(Arrays.asList(excludes)));
+            }
+            return columns.toArray(new Column[]{});
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table sign
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public static Column[] all() {
+            return Column.values();
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table sign
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public String getEscapedColumnName() {
+            if (this.isColumnNameDelimited) {
+                return new StringBuilder().append(BEGINNING_DELIMITER).append(this.column).append(ENDING_DELIMITER).toString();
+            } else {
+                return this.column;
+            }
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table sign
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public String getAliasedEscapedColumnName() {
+            return this.getEscapedColumnName();
+        }
+    }
+}

+ 471 - 0
book-dao/src/main/java/com/book/dao/cpsshard/entity/UserRecentlyRead.java

@@ -0,0 +1,471 @@
+package com.book.dao.cpsshard.entity;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.Arrays;
+import lombok.Data;
+
+@Data
+public class UserRecentlyRead implements Serializable {
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column user_recently_read.id
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    private Integer id;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column user_recently_read.user_id
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    private Long userId;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column user_recently_read.book_id
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    private Long bookId;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column user_recently_read.chapter_id
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    private Long chapterId;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column user_recently_read.chapter_name
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    private String chapterName;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column user_recently_read.flag
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    private Byte flag;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column user_recently_read.createtime
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    private Integer createtime;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column user_recently_read.updatetime
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    private Integer updatetime;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column user_recently_read.book_shelf_add
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    private Byte bookShelfAdd;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column user_recently_read.book_shelf_flag
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    private Byte bookShelfFlag;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table user_recently_read
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table user_recently_read
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public static UserRecentlyRead.Builder builder() {
+        return new UserRecentlyRead.Builder();
+    }
+
+    /**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table user_recently_read
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public static class Builder {
+        /**
+         * This field was generated by MyBatis Generator.
+         * This field corresponds to the database table user_recently_read
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        private UserRecentlyRead obj;
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table user_recently_read
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public Builder() {
+            this.obj = new UserRecentlyRead();
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method sets the value of the database column user_recently_read.id
+         *
+         * @param id the value for user_recently_read.id
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public Builder id(Integer id) {
+            obj.setId(id);
+            return this;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method sets the value of the database column user_recently_read.user_id
+         *
+         * @param userId the value for user_recently_read.user_id
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public Builder userId(Long userId) {
+            obj.setUserId(userId);
+            return this;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method sets the value of the database column user_recently_read.book_id
+         *
+         * @param bookId the value for user_recently_read.book_id
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public Builder bookId(Long bookId) {
+            obj.setBookId(bookId);
+            return this;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method sets the value of the database column user_recently_read.chapter_id
+         *
+         * @param chapterId the value for user_recently_read.chapter_id
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public Builder chapterId(Long chapterId) {
+            obj.setChapterId(chapterId);
+            return this;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method sets the value of the database column user_recently_read.chapter_name
+         *
+         * @param chapterName the value for user_recently_read.chapter_name
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public Builder chapterName(String chapterName) {
+            obj.setChapterName(chapterName);
+            return this;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method sets the value of the database column user_recently_read.flag
+         *
+         * @param flag the value for user_recently_read.flag
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public Builder flag(Byte flag) {
+            obj.setFlag(flag);
+            return this;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method sets the value of the database column user_recently_read.createtime
+         *
+         * @param createtime the value for user_recently_read.createtime
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public Builder createtime(Integer createtime) {
+            obj.setCreatetime(createtime);
+            return this;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method sets the value of the database column user_recently_read.updatetime
+         *
+         * @param updatetime the value for user_recently_read.updatetime
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public Builder updatetime(Integer updatetime) {
+            obj.setUpdatetime(updatetime);
+            return this;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method sets the value of the database column user_recently_read.book_shelf_add
+         *
+         * @param bookShelfAdd the value for user_recently_read.book_shelf_add
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public Builder bookShelfAdd(Byte bookShelfAdd) {
+            obj.setBookShelfAdd(bookShelfAdd);
+            return this;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method sets the value of the database column user_recently_read.book_shelf_flag
+         *
+         * @param bookShelfFlag the value for user_recently_read.book_shelf_flag
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public Builder bookShelfFlag(Byte bookShelfFlag) {
+            obj.setBookShelfFlag(bookShelfFlag);
+            return this;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table user_recently_read
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public UserRecentlyRead build() {
+            return this.obj;
+        }
+    }
+
+    /**
+     * This enum was generated by MyBatis Generator.
+     * This enum corresponds to the database table user_recently_read
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public enum Column {
+        id("id", "id", "INTEGER", false),
+        userId("user_id", "userId", "BIGINT", false),
+        bookId("book_id", "bookId", "BIGINT", false),
+        chapterId("chapter_id", "chapterId", "BIGINT", false),
+        chapterName("chapter_name", "chapterName", "VARCHAR", false),
+        flag("flag", "flag", "TINYINT", false),
+        createtime("createtime", "createtime", "INTEGER", false),
+        updatetime("updatetime", "updatetime", "INTEGER", false),
+        bookShelfAdd("book_shelf_add", "bookShelfAdd", "TINYINT", false),
+        bookShelfFlag("book_shelf_flag", "bookShelfFlag", "TINYINT", false);
+
+        /**
+         * This field was generated by MyBatis Generator.
+         * This field corresponds to the database table user_recently_read
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        private static final String BEGINNING_DELIMITER = "\"";
+
+        /**
+         * This field was generated by MyBatis Generator.
+         * This field corresponds to the database table user_recently_read
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        private static final String ENDING_DELIMITER = "\"";
+
+        /**
+         * This field was generated by MyBatis Generator.
+         * This field corresponds to the database table user_recently_read
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        private final String column;
+
+        /**
+         * This field was generated by MyBatis Generator.
+         * This field corresponds to the database table user_recently_read
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        private final boolean isColumnNameDelimited;
+
+        /**
+         * This field was generated by MyBatis Generator.
+         * This field corresponds to the database table user_recently_read
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        private final String javaProperty;
+
+        /**
+         * This field was generated by MyBatis Generator.
+         * This field corresponds to the database table user_recently_read
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        private final String jdbcType;
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table user_recently_read
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public String value() {
+            return this.column;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table user_recently_read
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public String getValue() {
+            return this.column;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table user_recently_read
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public String getJavaProperty() {
+            return this.javaProperty;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table user_recently_read
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public String getJdbcType() {
+            return this.jdbcType;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table user_recently_read
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        Column(String column, String javaProperty, String jdbcType, boolean isColumnNameDelimited) {
+            this.column = column;
+            this.javaProperty = javaProperty;
+            this.jdbcType = jdbcType;
+            this.isColumnNameDelimited = isColumnNameDelimited;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table user_recently_read
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public String desc() {
+            return this.getEscapedColumnName() + " DESC";
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table user_recently_read
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public String asc() {
+            return this.getEscapedColumnName() + " ASC";
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table user_recently_read
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public static Column[] excludes(Column ... excludes) {
+            ArrayList<Column> columns = new ArrayList<>(Arrays.asList(Column.values()));
+            if (excludes != null && excludes.length > 0) {
+                columns.removeAll(new ArrayList<>(Arrays.asList(excludes)));
+            }
+            return columns.toArray(new Column[]{});
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table user_recently_read
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public static Column[] all() {
+            return Column.values();
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table user_recently_read
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public String getEscapedColumnName() {
+            if (this.isColumnNameDelimited) {
+                return new StringBuilder().append(BEGINNING_DELIMITER).append(this.column).append(ENDING_DELIMITER).toString();
+            } else {
+                return this.column;
+            }
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table user_recently_read
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public String getAliasedEscapedColumnName() {
+            return this.getEscapedColumnName();
+        }
+    }
+}

+ 204 - 0
book-dao/src/main/java/com/book/dao/cpsshard/mapper/ConsumeMapper.java

@@ -0,0 +1,204 @@
+package com.book.dao.cpsshard.mapper;
+
+import com.book.dao.cpsshard.entity.Consume;
+import com.book.dao.cpsshard.pojo.example.ConsumeExample;
+import java.util.List;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.stereotype.Repository;
+
+@Mapper
+@Repository
+public interface ConsumeMapper {
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table consume
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    long countByExample(ConsumeExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table consume
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    int deleteByExample(ConsumeExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table consume
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    int deleteByPrimaryKey(Long id);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table consume
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    int insert(Consume record);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table consume
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    int insertSelective(@Param("record") Consume record, @Param("selective") Consume.Column ... selective);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table consume
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    Consume selectOneByExample(ConsumeExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table consume
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    Consume selectOneByExampleSelective(@Param("example") ConsumeExample example, @Param("selective") Consume.Column ... selective);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table consume
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    Consume selectOneByExampleWithBLOBs(ConsumeExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table consume
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    List<Consume> selectByExampleSelective(@Param("example") ConsumeExample example, @Param("selective") Consume.Column ... selective);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table consume
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    List<Consume> selectByExampleWithBLOBs(ConsumeExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table consume
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    List<Consume> selectByExample(ConsumeExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table consume
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    Consume selectByPrimaryKeySelective(@Param("id") Long id, @Param("selective") Consume.Column ... selective);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table consume
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    Consume selectByPrimaryKey(Long id);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table consume
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    int updateByExampleSelective(@Param("record") Consume record, @Param("example") ConsumeExample example, @Param("selective") Consume.Column ... selective);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table consume
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    int updateByExampleWithBLOBs(@Param("record") Consume record, @Param("example") ConsumeExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table consume
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    int updateByExample(@Param("record") Consume record, @Param("example") ConsumeExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table consume
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    int updateByPrimaryKeySelective(@Param("record") Consume record, @Param("selective") Consume.Column ... selective);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table consume
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    int updateByPrimaryKeyWithBLOBs(Consume record);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table consume
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    int updateByPrimaryKey(Consume record);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table consume
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    int batchInsert(@Param("list") List<Consume> list);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table consume
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    int batchInsertSelective(@Param("list") List<Consume> list, @Param("selective") Consume.Column ... selective);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table consume
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    int upsert(Consume record);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table consume
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    int upsertSelective(@Param("record") Consume record, @Param("selective") Consume.Column ... selective);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table consume
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    int upsertWithBLOBs(Consume record);
+}

+ 164 - 0
book-dao/src/main/java/com/book/dao/cpsshard/mapper/RechargeMapper.java

@@ -0,0 +1,164 @@
+package com.book.dao.cpsshard.mapper;
+
+import com.book.dao.cpsshard.entity.Recharge;
+import com.book.dao.cpsshard.pojo.example.RechargeExample;
+import java.util.List;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.stereotype.Repository;
+
+@Mapper
+@Repository
+public interface RechargeMapper {
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table recharge
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    long countByExample(RechargeExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table recharge
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    int deleteByExample(RechargeExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table recharge
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    int deleteByPrimaryKey(Long id);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table recharge
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    int insert(Recharge record);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table recharge
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    int insertSelective(@Param("record") Recharge record, @Param("selective") Recharge.Column ... selective);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table recharge
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    Recharge selectOneByExample(RechargeExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table recharge
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    Recharge selectOneByExampleSelective(@Param("example") RechargeExample example, @Param("selective") Recharge.Column ... selective);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table recharge
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    List<Recharge> selectByExampleSelective(@Param("example") RechargeExample example, @Param("selective") Recharge.Column ... selective);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table recharge
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    List<Recharge> selectByExample(RechargeExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table recharge
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    Recharge selectByPrimaryKeySelective(@Param("id") Long id, @Param("selective") Recharge.Column ... selective);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table recharge
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    Recharge selectByPrimaryKey(Long id);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table recharge
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    int updateByExampleSelective(@Param("record") Recharge record, @Param("example") RechargeExample example, @Param("selective") Recharge.Column ... selective);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table recharge
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    int updateByExample(@Param("record") Recharge record, @Param("example") RechargeExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table recharge
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    int updateByPrimaryKeySelective(@Param("record") Recharge record, @Param("selective") Recharge.Column ... selective);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table recharge
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    int updateByPrimaryKey(Recharge record);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table recharge
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    int batchInsert(@Param("list") List<Recharge> list);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table recharge
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    int batchInsertSelective(@Param("list") List<Recharge> list, @Param("selective") Recharge.Column ... selective);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table recharge
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    int upsert(Recharge record);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table recharge
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    int upsertSelective(@Param("record") Recharge record, @Param("selective") Recharge.Column ... selective);
+}

+ 164 - 0
book-dao/src/main/java/com/book/dao/cpsshard/mapper/SignMapper.java

@@ -0,0 +1,164 @@
+package com.book.dao.cpsshard.mapper;
+
+import com.book.dao.cpsshard.entity.Sign;
+import com.book.dao.cpsshard.pojo.example.SignExample;
+import java.util.List;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.stereotype.Repository;
+
+@Mapper
+@Repository
+public interface SignMapper {
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table sign
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    long countByExample(SignExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table sign
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    int deleteByExample(SignExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table sign
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    int deleteByPrimaryKey(Integer id);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table sign
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    int insert(Sign record);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table sign
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    int insertSelective(@Param("record") Sign record, @Param("selective") Sign.Column ... selective);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table sign
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    Sign selectOneByExample(SignExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table sign
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    Sign selectOneByExampleSelective(@Param("example") SignExample example, @Param("selective") Sign.Column ... selective);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table sign
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    List<Sign> selectByExampleSelective(@Param("example") SignExample example, @Param("selective") Sign.Column ... selective);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table sign
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    List<Sign> selectByExample(SignExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table sign
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    Sign selectByPrimaryKeySelective(@Param("id") Integer id, @Param("selective") Sign.Column ... selective);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table sign
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    Sign selectByPrimaryKey(Integer id);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table sign
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    int updateByExampleSelective(@Param("record") Sign record, @Param("example") SignExample example, @Param("selective") Sign.Column ... selective);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table sign
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    int updateByExample(@Param("record") Sign record, @Param("example") SignExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table sign
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    int updateByPrimaryKeySelective(@Param("record") Sign record, @Param("selective") Sign.Column ... selective);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table sign
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    int updateByPrimaryKey(Sign record);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table sign
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    int batchInsert(@Param("list") List<Sign> list);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table sign
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    int batchInsertSelective(@Param("list") List<Sign> list, @Param("selective") Sign.Column ... selective);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table sign
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    int upsert(Sign record);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table sign
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    int upsertSelective(@Param("record") Sign record, @Param("selective") Sign.Column ... selective);
+}

+ 164 - 0
book-dao/src/main/java/com/book/dao/cpsshard/mapper/UserRecentlyReadMapper.java

@@ -0,0 +1,164 @@
+package com.book.dao.cpsshard.mapper;
+
+import com.book.dao.cpsshard.entity.UserRecentlyRead;
+import com.book.dao.cpsshard.pojo.example.UserRecentlyReadExample;
+import java.util.List;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.stereotype.Repository;
+
+@Mapper
+@Repository
+public interface UserRecentlyReadMapper {
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table user_recently_read
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    long countByExample(UserRecentlyReadExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table user_recently_read
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    int deleteByExample(UserRecentlyReadExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table user_recently_read
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    int deleteByPrimaryKey(Integer id);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table user_recently_read
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    int insert(UserRecentlyRead record);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table user_recently_read
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    int insertSelective(@Param("record") UserRecentlyRead record, @Param("selective") UserRecentlyRead.Column ... selective);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table user_recently_read
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    UserRecentlyRead selectOneByExample(UserRecentlyReadExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table user_recently_read
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    UserRecentlyRead selectOneByExampleSelective(@Param("example") UserRecentlyReadExample example, @Param("selective") UserRecentlyRead.Column ... selective);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table user_recently_read
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    List<UserRecentlyRead> selectByExampleSelective(@Param("example") UserRecentlyReadExample example, @Param("selective") UserRecentlyRead.Column ... selective);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table user_recently_read
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    List<UserRecentlyRead> selectByExample(UserRecentlyReadExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table user_recently_read
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    UserRecentlyRead selectByPrimaryKeySelective(@Param("id") Integer id, @Param("selective") UserRecentlyRead.Column ... selective);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table user_recently_read
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    UserRecentlyRead selectByPrimaryKey(Integer id);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table user_recently_read
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    int updateByExampleSelective(@Param("record") UserRecentlyRead record, @Param("example") UserRecentlyReadExample example, @Param("selective") UserRecentlyRead.Column ... selective);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table user_recently_read
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    int updateByExample(@Param("record") UserRecentlyRead record, @Param("example") UserRecentlyReadExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table user_recently_read
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    int updateByPrimaryKeySelective(@Param("record") UserRecentlyRead record, @Param("selective") UserRecentlyRead.Column ... selective);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table user_recently_read
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    int updateByPrimaryKey(UserRecentlyRead record);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table user_recently_read
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    int batchInsert(@Param("list") List<UserRecentlyRead> list);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table user_recently_read
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    int batchInsertSelective(@Param("list") List<UserRecentlyRead> list, @Param("selective") UserRecentlyRead.Column ... selective);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table user_recently_read
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    int upsert(UserRecentlyRead record);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table user_recently_read
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    int upsertSelective(@Param("record") UserRecentlyRead record, @Param("selective") UserRecentlyRead.Column ... selective);
+}

+ 2051 - 0
book-dao/src/main/java/com/book/dao/cpsshard/pojo/example/ConsumeExample.java

@@ -0,0 +1,2051 @@
+package com.book.dao.cpsshard.pojo.example;
+
+import com.book.dao.cpsshard.entity.Consume;
+import java.util.ArrayList;
+import java.util.List;
+
+public class ConsumeExample {
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table consume
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    protected String orderByClause;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table consume
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    protected boolean distinct;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table consume
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    protected List<Criteria> oredCriteria;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table consume
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    protected Integer offset;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table consume
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    protected Integer rows;
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table consume
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public ConsumeExample() {
+        oredCriteria = new ArrayList<Criteria>();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table consume
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public void setOrderByClause(String orderByClause) {
+        this.orderByClause = orderByClause;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table consume
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public String getOrderByClause() {
+        return orderByClause;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table consume
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public void setDistinct(boolean distinct) {
+        this.distinct = distinct;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table consume
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public boolean isDistinct() {
+        return distinct;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table consume
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public List<Criteria> getOredCriteria() {
+        return oredCriteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table consume
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public void or(Criteria criteria) {
+        oredCriteria.add(criteria);
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table consume
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    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 consume
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public ConsumeExample orderBy(String orderByClause) {
+        this.setOrderByClause(orderByClause);
+        return this;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table consume
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public ConsumeExample orderBy(String ... orderByClauses) {
+        StringBuffer sb = new StringBuffer();
+        for (int i = 0; i < orderByClauses.length; i++) {
+            sb.append(orderByClauses[i]);
+            if (i < orderByClauses.length - 1) {
+                sb.append(" , ");
+            }
+        }
+        this.setOrderByClause(sb.toString());
+        return this;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table consume
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    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 consume
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    protected Criteria createCriteriaInternal() {
+        Criteria criteria = new Criteria(this);
+        return criteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table consume
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public void clear() {
+        oredCriteria.clear();
+        orderByClause = null;
+        distinct = false;
+        rows = null;
+        offset = null;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table consume
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public void setOffset(Integer offset) {
+        this.offset = offset;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table consume
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public Integer getOffset() {
+        return this.offset;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table consume
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public void setRows(Integer rows) {
+        this.rows = rows;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table consume
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public Integer getRows() {
+        return this.rows;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table consume
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public ConsumeExample limit(Integer rows) {
+        this.rows = rows;
+        return this;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table consume
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public ConsumeExample limit(Integer offset, Integer rows) {
+        this.offset = offset;
+        this.rows = rows;
+        return this;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table consume
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public ConsumeExample page(Integer page, Integer pageSize) {
+        this.offset = page * pageSize;
+        this.rows = pageSize;
+        return this;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table consume
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public static Criteria newAndCreateCriteria() {
+        ConsumeExample example = new ConsumeExample();
+        return example.createCriteria();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table consume
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public ConsumeExample when(boolean condition, IExampleWhen then) {
+        if (condition) {
+            then.example(this);
+        }
+        return this;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table consume
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public ConsumeExample when(boolean condition, IExampleWhen then, IExampleWhen otherwise) {
+        if (condition) {
+            then.example(this);
+        } else {
+            otherwise.example(this);
+        }
+        return this;
+    }
+
+    /**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table consume
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    protected abstract static class GeneratedCriteria {
+        protected List<Criterion> criteria;
+
+        protected GeneratedCriteria() {
+            super();
+            criteria = new ArrayList<Criterion>();
+        }
+
+        public boolean isValid() {
+            return criteria.size() > 0;
+        }
+
+        public List<Criterion> getAllCriteria() {
+            return criteria;
+        }
+
+        public List<Criterion> getCriteria() {
+            return criteria;
+        }
+
+        protected void addCriterion(String condition) {
+            if (condition == null) {
+                throw new RuntimeException("Value for condition cannot be null");
+            }
+            criteria.add(new Criterion(condition));
+        }
+
+        protected void addCriterion(String condition, Object value, String property) {
+            if (value == null) {
+                throw new RuntimeException("Value for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value));
+        }
+
+        protected void addCriterion(String condition, Object value1, Object value2, String property) {
+            if (value1 == null || value2 == null) {
+                throw new RuntimeException("Between values for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value1, value2));
+        }
+
+        public Criteria andIdIsNull() {
+            addCriterion("id is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdIsNotNull() {
+            addCriterion("id is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdEqualTo(Long value) {
+            addCriterion("id =", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdEqualToColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("id = ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotEqualTo(Long value) {
+            addCriterion("id <>", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotEqualToColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("id <> ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThan(Long value) {
+            addCriterion("id >", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThanColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("id > ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThanOrEqualTo(Long value) {
+            addCriterion("id >=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThanOrEqualToColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("id >= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThan(Long value) {
+            addCriterion("id <", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThanColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("id < ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThanOrEqualTo(Long value) {
+            addCriterion("id <=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThanOrEqualToColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("id <= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andIdIn(List<Long> values) {
+            addCriterion("id in", values, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotIn(List<Long> values) {
+            addCriterion("id not in", values, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdBetween(Long value1, Long value2) {
+            addCriterion("id between", value1, value2, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotBetween(Long value1, Long value2) {
+            addCriterion("id not between", value1, value2, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andUserIdIsNull() {
+            addCriterion("user_id is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUserIdIsNotNull() {
+            addCriterion("user_id is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUserIdEqualTo(Long value) {
+            addCriterion("user_id =", value, "userId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUserIdEqualToColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("user_id = ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andUserIdNotEqualTo(Long value) {
+            addCriterion("user_id <>", value, "userId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUserIdNotEqualToColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("user_id <> ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andUserIdGreaterThan(Long value) {
+            addCriterion("user_id >", value, "userId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUserIdGreaterThanColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("user_id > ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andUserIdGreaterThanOrEqualTo(Long value) {
+            addCriterion("user_id >=", value, "userId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUserIdGreaterThanOrEqualToColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("user_id >= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andUserIdLessThan(Long value) {
+            addCriterion("user_id <", value, "userId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUserIdLessThanColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("user_id < ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andUserIdLessThanOrEqualTo(Long value) {
+            addCriterion("user_id <=", value, "userId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUserIdLessThanOrEqualToColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("user_id <= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andUserIdIn(List<Long> values) {
+            addCriterion("user_id in", values, "userId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUserIdNotIn(List<Long> values) {
+            addCriterion("user_id not in", values, "userId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUserIdBetween(Long value1, Long value2) {
+            addCriterion("user_id between", value1, value2, "userId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUserIdNotBetween(Long value1, Long value2) {
+            addCriterion("user_id not between", value1, value2, "userId");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeIsNull() {
+            addCriterion("type is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeIsNotNull() {
+            addCriterion("type is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeEqualTo(String value) {
+            addCriterion("type =", value, "type");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeEqualToColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("type = ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeNotEqualTo(String value) {
+            addCriterion("type <>", value, "type");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeNotEqualToColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("type <> ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeGreaterThan(String value) {
+            addCriterion("type >", value, "type");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeGreaterThanColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("type > ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeGreaterThanOrEqualTo(String value) {
+            addCriterion("type >=", value, "type");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeGreaterThanOrEqualToColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("type >= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeLessThan(String value) {
+            addCriterion("type <", value, "type");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeLessThanColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("type < ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeLessThanOrEqualTo(String value) {
+            addCriterion("type <=", value, "type");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeLessThanOrEqualToColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("type <= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeLike(String value) {
+            addCriterion("type like", value, "type");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeNotLike(String value) {
+            addCriterion("type not like", value, "type");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeIn(List<String> values) {
+            addCriterion("type in", values, "type");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeNotIn(List<String> values) {
+            addCriterion("type not in", values, "type");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeBetween(String value1, String value2) {
+            addCriterion("type between", value1, value2, "type");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeNotBetween(String value1, String value2) {
+            addCriterion("type not between", value1, value2, "type");
+            return (Criteria) this;
+        }
+
+        public Criteria andBookIdIsNull() {
+            addCriterion("book_id is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andBookIdIsNotNull() {
+            addCriterion("book_id is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andBookIdEqualTo(Long value) {
+            addCriterion("book_id =", value, "bookId");
+            return (Criteria) this;
+        }
+
+        public Criteria andBookIdEqualToColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("book_id = ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andBookIdNotEqualTo(Long value) {
+            addCriterion("book_id <>", value, "bookId");
+            return (Criteria) this;
+        }
+
+        public Criteria andBookIdNotEqualToColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("book_id <> ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andBookIdGreaterThan(Long value) {
+            addCriterion("book_id >", value, "bookId");
+            return (Criteria) this;
+        }
+
+        public Criteria andBookIdGreaterThanColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("book_id > ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andBookIdGreaterThanOrEqualTo(Long value) {
+            addCriterion("book_id >=", value, "bookId");
+            return (Criteria) this;
+        }
+
+        public Criteria andBookIdGreaterThanOrEqualToColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("book_id >= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andBookIdLessThan(Long value) {
+            addCriterion("book_id <", value, "bookId");
+            return (Criteria) this;
+        }
+
+        public Criteria andBookIdLessThanColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("book_id < ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andBookIdLessThanOrEqualTo(Long value) {
+            addCriterion("book_id <=", value, "bookId");
+            return (Criteria) this;
+        }
+
+        public Criteria andBookIdLessThanOrEqualToColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("book_id <= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andBookIdIn(List<Long> values) {
+            addCriterion("book_id in", values, "bookId");
+            return (Criteria) this;
+        }
+
+        public Criteria andBookIdNotIn(List<Long> values) {
+            addCriterion("book_id not in", values, "bookId");
+            return (Criteria) this;
+        }
+
+        public Criteria andBookIdBetween(Long value1, Long value2) {
+            addCriterion("book_id between", value1, value2, "bookId");
+            return (Criteria) this;
+        }
+
+        public Criteria andBookIdNotBetween(Long value1, Long value2) {
+            addCriterion("book_id not between", value1, value2, "bookId");
+            return (Criteria) this;
+        }
+
+        public Criteria andBookNameIsNull() {
+            addCriterion("book_name is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andBookNameIsNotNull() {
+            addCriterion("book_name is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andBookNameEqualTo(String value) {
+            addCriterion("book_name =", value, "bookName");
+            return (Criteria) this;
+        }
+
+        public Criteria andBookNameEqualToColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("book_name = ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andBookNameNotEqualTo(String value) {
+            addCriterion("book_name <>", value, "bookName");
+            return (Criteria) this;
+        }
+
+        public Criteria andBookNameNotEqualToColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("book_name <> ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andBookNameGreaterThan(String value) {
+            addCriterion("book_name >", value, "bookName");
+            return (Criteria) this;
+        }
+
+        public Criteria andBookNameGreaterThanColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("book_name > ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andBookNameGreaterThanOrEqualTo(String value) {
+            addCriterion("book_name >=", value, "bookName");
+            return (Criteria) this;
+        }
+
+        public Criteria andBookNameGreaterThanOrEqualToColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("book_name >= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andBookNameLessThan(String value) {
+            addCriterion("book_name <", value, "bookName");
+            return (Criteria) this;
+        }
+
+        public Criteria andBookNameLessThanColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("book_name < ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andBookNameLessThanOrEqualTo(String value) {
+            addCriterion("book_name <=", value, "bookName");
+            return (Criteria) this;
+        }
+
+        public Criteria andBookNameLessThanOrEqualToColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("book_name <= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andBookNameLike(String value) {
+            addCriterion("book_name like", value, "bookName");
+            return (Criteria) this;
+        }
+
+        public Criteria andBookNameNotLike(String value) {
+            addCriterion("book_name not like", value, "bookName");
+            return (Criteria) this;
+        }
+
+        public Criteria andBookNameIn(List<String> values) {
+            addCriterion("book_name in", values, "bookName");
+            return (Criteria) this;
+        }
+
+        public Criteria andBookNameNotIn(List<String> values) {
+            addCriterion("book_name not in", values, "bookName");
+            return (Criteria) this;
+        }
+
+        public Criteria andBookNameBetween(String value1, String value2) {
+            addCriterion("book_name between", value1, value2, "bookName");
+            return (Criteria) this;
+        }
+
+        public Criteria andBookNameNotBetween(String value1, String value2) {
+            addCriterion("book_name not between", value1, value2, "bookName");
+            return (Criteria) this;
+        }
+
+        public Criteria andChapterIdIsNull() {
+            addCriterion("chapter_id is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andChapterIdIsNotNull() {
+            addCriterion("chapter_id is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andChapterIdEqualTo(Long value) {
+            addCriterion("chapter_id =", value, "chapterId");
+            return (Criteria) this;
+        }
+
+        public Criteria andChapterIdEqualToColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("chapter_id = ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andChapterIdNotEqualTo(Long value) {
+            addCriterion("chapter_id <>", value, "chapterId");
+            return (Criteria) this;
+        }
+
+        public Criteria andChapterIdNotEqualToColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("chapter_id <> ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andChapterIdGreaterThan(Long value) {
+            addCriterion("chapter_id >", value, "chapterId");
+            return (Criteria) this;
+        }
+
+        public Criteria andChapterIdGreaterThanColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("chapter_id > ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andChapterIdGreaterThanOrEqualTo(Long value) {
+            addCriterion("chapter_id >=", value, "chapterId");
+            return (Criteria) this;
+        }
+
+        public Criteria andChapterIdGreaterThanOrEqualToColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("chapter_id >= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andChapterIdLessThan(Long value) {
+            addCriterion("chapter_id <", value, "chapterId");
+            return (Criteria) this;
+        }
+
+        public Criteria andChapterIdLessThanColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("chapter_id < ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andChapterIdLessThanOrEqualTo(Long value) {
+            addCriterion("chapter_id <=", value, "chapterId");
+            return (Criteria) this;
+        }
+
+        public Criteria andChapterIdLessThanOrEqualToColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("chapter_id <= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andChapterIdIn(List<Long> values) {
+            addCriterion("chapter_id in", values, "chapterId");
+            return (Criteria) this;
+        }
+
+        public Criteria andChapterIdNotIn(List<Long> values) {
+            addCriterion("chapter_id not in", values, "chapterId");
+            return (Criteria) this;
+        }
+
+        public Criteria andChapterIdBetween(Long value1, Long value2) {
+            addCriterion("chapter_id between", value1, value2, "chapterId");
+            return (Criteria) this;
+        }
+
+        public Criteria andChapterIdNotBetween(Long value1, Long value2) {
+            addCriterion("chapter_id not between", value1, value2, "chapterId");
+            return (Criteria) this;
+        }
+
+        public Criteria andChapterNameIsNull() {
+            addCriterion("chapter_name is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andChapterNameIsNotNull() {
+            addCriterion("chapter_name is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andChapterNameEqualTo(String value) {
+            addCriterion("chapter_name =", value, "chapterName");
+            return (Criteria) this;
+        }
+
+        public Criteria andChapterNameEqualToColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("chapter_name = ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andChapterNameNotEqualTo(String value) {
+            addCriterion("chapter_name <>", value, "chapterName");
+            return (Criteria) this;
+        }
+
+        public Criteria andChapterNameNotEqualToColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("chapter_name <> ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andChapterNameGreaterThan(String value) {
+            addCriterion("chapter_name >", value, "chapterName");
+            return (Criteria) this;
+        }
+
+        public Criteria andChapterNameGreaterThanColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("chapter_name > ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andChapterNameGreaterThanOrEqualTo(String value) {
+            addCriterion("chapter_name >=", value, "chapterName");
+            return (Criteria) this;
+        }
+
+        public Criteria andChapterNameGreaterThanOrEqualToColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("chapter_name >= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andChapterNameLessThan(String value) {
+            addCriterion("chapter_name <", value, "chapterName");
+            return (Criteria) this;
+        }
+
+        public Criteria andChapterNameLessThanColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("chapter_name < ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andChapterNameLessThanOrEqualTo(String value) {
+            addCriterion("chapter_name <=", value, "chapterName");
+            return (Criteria) this;
+        }
+
+        public Criteria andChapterNameLessThanOrEqualToColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("chapter_name <= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andChapterNameLike(String value) {
+            addCriterion("chapter_name like", value, "chapterName");
+            return (Criteria) this;
+        }
+
+        public Criteria andChapterNameNotLike(String value) {
+            addCriterion("chapter_name not like", value, "chapterName");
+            return (Criteria) this;
+        }
+
+        public Criteria andChapterNameIn(List<String> values) {
+            addCriterion("chapter_name in", values, "chapterName");
+            return (Criteria) this;
+        }
+
+        public Criteria andChapterNameNotIn(List<String> values) {
+            addCriterion("chapter_name not in", values, "chapterName");
+            return (Criteria) this;
+        }
+
+        public Criteria andChapterNameBetween(String value1, String value2) {
+            addCriterion("chapter_name between", value1, value2, "chapterName");
+            return (Criteria) this;
+        }
+
+        public Criteria andChapterNameNotBetween(String value1, String value2) {
+            addCriterion("chapter_name not between", value1, value2, "chapterName");
+            return (Criteria) this;
+        }
+
+        public Criteria andKandianIsNull() {
+            addCriterion("kandian is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andKandianIsNotNull() {
+            addCriterion("kandian is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andKandianEqualTo(Integer value) {
+            addCriterion("kandian =", value, "kandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andKandianEqualToColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("kandian = ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andKandianNotEqualTo(Integer value) {
+            addCriterion("kandian <>", value, "kandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andKandianNotEqualToColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("kandian <> ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andKandianGreaterThan(Integer value) {
+            addCriterion("kandian >", value, "kandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andKandianGreaterThanColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("kandian > ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andKandianGreaterThanOrEqualTo(Integer value) {
+            addCriterion("kandian >=", value, "kandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andKandianGreaterThanOrEqualToColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("kandian >= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andKandianLessThan(Integer value) {
+            addCriterion("kandian <", value, "kandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andKandianLessThanColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("kandian < ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andKandianLessThanOrEqualTo(Integer value) {
+            addCriterion("kandian <=", value, "kandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andKandianLessThanOrEqualToColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("kandian <= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andKandianIn(List<Integer> values) {
+            addCriterion("kandian in", values, "kandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andKandianNotIn(List<Integer> values) {
+            addCriterion("kandian not in", values, "kandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andKandianBetween(Integer value1, Integer value2) {
+            addCriterion("kandian between", value1, value2, "kandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andKandianNotBetween(Integer value1, Integer value2) {
+            addCriterion("kandian not between", value1, value2, "kandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeKandianIsNull() {
+            addCriterion("free_kandian is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeKandianIsNotNull() {
+            addCriterion("free_kandian is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeKandianEqualTo(Integer value) {
+            addCriterion("free_kandian =", value, "freeKandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeKandianEqualToColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("free_kandian = ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeKandianNotEqualTo(Integer value) {
+            addCriterion("free_kandian <>", value, "freeKandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeKandianNotEqualToColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("free_kandian <> ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeKandianGreaterThan(Integer value) {
+            addCriterion("free_kandian >", value, "freeKandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeKandianGreaterThanColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("free_kandian > ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeKandianGreaterThanOrEqualTo(Integer value) {
+            addCriterion("free_kandian >=", value, "freeKandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeKandianGreaterThanOrEqualToColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("free_kandian >= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeKandianLessThan(Integer value) {
+            addCriterion("free_kandian <", value, "freeKandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeKandianLessThanColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("free_kandian < ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeKandianLessThanOrEqualTo(Integer value) {
+            addCriterion("free_kandian <=", value, "freeKandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeKandianLessThanOrEqualToColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("free_kandian <= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeKandianIn(List<Integer> values) {
+            addCriterion("free_kandian in", values, "freeKandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeKandianNotIn(List<Integer> values) {
+            addCriterion("free_kandian not in", values, "freeKandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeKandianBetween(Integer value1, Integer value2) {
+            addCriterion("free_kandian between", value1, value2, "freeKandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeKandianNotBetween(Integer value1, Integer value2) {
+            addCriterion("free_kandian not between", value1, value2, "freeKandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1IsNull() {
+            addCriterion("extend1 is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1IsNotNull() {
+            addCriterion("extend1 is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1EqualTo(String value) {
+            addCriterion("extend1 =", value, "extend1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1EqualToColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("extend1 = ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1NotEqualTo(String value) {
+            addCriterion("extend1 <>", value, "extend1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1NotEqualToColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("extend1 <> ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1GreaterThan(String value) {
+            addCriterion("extend1 >", value, "extend1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1GreaterThanColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("extend1 > ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1GreaterThanOrEqualTo(String value) {
+            addCriterion("extend1 >=", value, "extend1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1GreaterThanOrEqualToColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("extend1 >= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1LessThan(String value) {
+            addCriterion("extend1 <", value, "extend1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1LessThanColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("extend1 < ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1LessThanOrEqualTo(String value) {
+            addCriterion("extend1 <=", value, "extend1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1LessThanOrEqualToColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("extend1 <= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1Like(String value) {
+            addCriterion("extend1 like", value, "extend1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1NotLike(String value) {
+            addCriterion("extend1 not like", value, "extend1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1In(List<String> values) {
+            addCriterion("extend1 in", values, "extend1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1NotIn(List<String> values) {
+            addCriterion("extend1 not in", values, "extend1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1Between(String value1, String value2) {
+            addCriterion("extend1 between", value1, value2, "extend1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1NotBetween(String value1, String value2) {
+            addCriterion("extend1 not between", value1, value2, "extend1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2IsNull() {
+            addCriterion("extend2 is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2IsNotNull() {
+            addCriterion("extend2 is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2EqualTo(String value) {
+            addCriterion("extend2 =", value, "extend2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2EqualToColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("extend2 = ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2NotEqualTo(String value) {
+            addCriterion("extend2 <>", value, "extend2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2NotEqualToColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("extend2 <> ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2GreaterThan(String value) {
+            addCriterion("extend2 >", value, "extend2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2GreaterThanColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("extend2 > ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2GreaterThanOrEqualTo(String value) {
+            addCriterion("extend2 >=", value, "extend2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2GreaterThanOrEqualToColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("extend2 >= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2LessThan(String value) {
+            addCriterion("extend2 <", value, "extend2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2LessThanColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("extend2 < ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2LessThanOrEqualTo(String value) {
+            addCriterion("extend2 <=", value, "extend2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2LessThanOrEqualToColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("extend2 <= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2Like(String value) {
+            addCriterion("extend2 like", value, "extend2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2NotLike(String value) {
+            addCriterion("extend2 not like", value, "extend2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2In(List<String> values) {
+            addCriterion("extend2 in", values, "extend2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2NotIn(List<String> values) {
+            addCriterion("extend2 not in", values, "extend2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2Between(String value1, String value2) {
+            addCriterion("extend2 between", value1, value2, "extend2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2NotBetween(String value1, String value2) {
+            addCriterion("extend2 not between", value1, value2, "extend2");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeIsNull() {
+            addCriterion("createtime is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeIsNotNull() {
+            addCriterion("createtime is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeEqualTo(Integer value) {
+            addCriterion("createtime =", value, "createtime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeEqualToColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("createtime = ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeNotEqualTo(Integer value) {
+            addCriterion("createtime <>", value, "createtime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeNotEqualToColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("createtime <> ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeGreaterThan(Integer value) {
+            addCriterion("createtime >", value, "createtime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeGreaterThanColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("createtime > ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeGreaterThanOrEqualTo(Integer value) {
+            addCriterion("createtime >=", value, "createtime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeGreaterThanOrEqualToColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("createtime >= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeLessThan(Integer value) {
+            addCriterion("createtime <", value, "createtime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeLessThanColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("createtime < ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeLessThanOrEqualTo(Integer value) {
+            addCriterion("createtime <=", value, "createtime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeLessThanOrEqualToColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("createtime <= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeIn(List<Integer> values) {
+            addCriterion("createtime in", values, "createtime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeNotIn(List<Integer> values) {
+            addCriterion("createtime not in", values, "createtime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeBetween(Integer value1, Integer value2) {
+            addCriterion("createtime between", value1, value2, "createtime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeNotBetween(Integer value1, Integer value2) {
+            addCriterion("createtime not between", value1, value2, "createtime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdatetimeIsNull() {
+            addCriterion("updatetime is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdatetimeIsNotNull() {
+            addCriterion("updatetime is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdatetimeEqualTo(Integer value) {
+            addCriterion("updatetime =", value, "updatetime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdatetimeEqualToColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("updatetime = ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdatetimeNotEqualTo(Integer value) {
+            addCriterion("updatetime <>", value, "updatetime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdatetimeNotEqualToColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("updatetime <> ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdatetimeGreaterThan(Integer value) {
+            addCriterion("updatetime >", value, "updatetime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdatetimeGreaterThanColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("updatetime > ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdatetimeGreaterThanOrEqualTo(Integer value) {
+            addCriterion("updatetime >=", value, "updatetime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdatetimeGreaterThanOrEqualToColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("updatetime >= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdatetimeLessThan(Integer value) {
+            addCriterion("updatetime <", value, "updatetime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdatetimeLessThanColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("updatetime < ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdatetimeLessThanOrEqualTo(Integer value) {
+            addCriterion("updatetime <=", value, "updatetime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdatetimeLessThanOrEqualToColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("updatetime <= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdatetimeIn(List<Integer> values) {
+            addCriterion("updatetime in", values, "updatetime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdatetimeNotIn(List<Integer> values) {
+            addCriterion("updatetime not in", values, "updatetime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdatetimeBetween(Integer value1, Integer value2) {
+            addCriterion("updatetime between", value1, value2, "updatetime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdatetimeNotBetween(Integer value1, Integer value2) {
+            addCriterion("updatetime not between", value1, value2, "updatetime");
+            return (Criteria) this;
+        }
+
+        public Criteria andBusinessLineIsNull() {
+            addCriterion("business_line is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andBusinessLineIsNotNull() {
+            addCriterion("business_line is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andBusinessLineEqualTo(Byte value) {
+            addCriterion("business_line =", value, "businessLine");
+            return (Criteria) this;
+        }
+
+        public Criteria andBusinessLineEqualToColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("business_line = ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andBusinessLineNotEqualTo(Byte value) {
+            addCriterion("business_line <>", value, "businessLine");
+            return (Criteria) this;
+        }
+
+        public Criteria andBusinessLineNotEqualToColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("business_line <> ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andBusinessLineGreaterThan(Byte value) {
+            addCriterion("business_line >", value, "businessLine");
+            return (Criteria) this;
+        }
+
+        public Criteria andBusinessLineGreaterThanColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("business_line > ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andBusinessLineGreaterThanOrEqualTo(Byte value) {
+            addCriterion("business_line >=", value, "businessLine");
+            return (Criteria) this;
+        }
+
+        public Criteria andBusinessLineGreaterThanOrEqualToColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("business_line >= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andBusinessLineLessThan(Byte value) {
+            addCriterion("business_line <", value, "businessLine");
+            return (Criteria) this;
+        }
+
+        public Criteria andBusinessLineLessThanColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("business_line < ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andBusinessLineLessThanOrEqualTo(Byte value) {
+            addCriterion("business_line <=", value, "businessLine");
+            return (Criteria) this;
+        }
+
+        public Criteria andBusinessLineLessThanOrEqualToColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("business_line <= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andBusinessLineIn(List<Byte> values) {
+            addCriterion("business_line in", values, "businessLine");
+            return (Criteria) this;
+        }
+
+        public Criteria andBusinessLineNotIn(List<Byte> values) {
+            addCriterion("business_line not in", values, "businessLine");
+            return (Criteria) this;
+        }
+
+        public Criteria andBusinessLineBetween(Byte value1, Byte value2) {
+            addCriterion("business_line between", value1, value2, "businessLine");
+            return (Criteria) this;
+        }
+
+        public Criteria andBusinessLineNotBetween(Byte value1, Byte value2) {
+            addCriterion("business_line not between", value1, value2, "businessLine");
+            return (Criteria) this;
+        }
+
+        public Criteria andDdKandianIsNull() {
+            addCriterion("dd_kandian is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andDdKandianIsNotNull() {
+            addCriterion("dd_kandian is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andDdKandianEqualTo(Integer value) {
+            addCriterion("dd_kandian =", value, "ddKandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andDdKandianEqualToColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("dd_kandian = ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andDdKandianNotEqualTo(Integer value) {
+            addCriterion("dd_kandian <>", value, "ddKandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andDdKandianNotEqualToColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("dd_kandian <> ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andDdKandianGreaterThan(Integer value) {
+            addCriterion("dd_kandian >", value, "ddKandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andDdKandianGreaterThanColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("dd_kandian > ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andDdKandianGreaterThanOrEqualTo(Integer value) {
+            addCriterion("dd_kandian >=", value, "ddKandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andDdKandianGreaterThanOrEqualToColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("dd_kandian >= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andDdKandianLessThan(Integer value) {
+            addCriterion("dd_kandian <", value, "ddKandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andDdKandianLessThanColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("dd_kandian < ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andDdKandianLessThanOrEqualTo(Integer value) {
+            addCriterion("dd_kandian <=", value, "ddKandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andDdKandianLessThanOrEqualToColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("dd_kandian <= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andDdKandianIn(List<Integer> values) {
+            addCriterion("dd_kandian in", values, "ddKandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andDdKandianNotIn(List<Integer> values) {
+            addCriterion("dd_kandian not in", values, "ddKandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andDdKandianBetween(Integer value1, Integer value2) {
+            addCriterion("dd_kandian between", value1, value2, "ddKandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andDdKandianNotBetween(Integer value1, Integer value2) {
+            addCriterion("dd_kandian not between", value1, value2, "ddKandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andDdFreeKandianIsNull() {
+            addCriterion("dd_free_kandian is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andDdFreeKandianIsNotNull() {
+            addCriterion("dd_free_kandian is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andDdFreeKandianEqualTo(Integer value) {
+            addCriterion("dd_free_kandian =", value, "ddFreeKandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andDdFreeKandianEqualToColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("dd_free_kandian = ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andDdFreeKandianNotEqualTo(Integer value) {
+            addCriterion("dd_free_kandian <>", value, "ddFreeKandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andDdFreeKandianNotEqualToColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("dd_free_kandian <> ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andDdFreeKandianGreaterThan(Integer value) {
+            addCriterion("dd_free_kandian >", value, "ddFreeKandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andDdFreeKandianGreaterThanColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("dd_free_kandian > ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andDdFreeKandianGreaterThanOrEqualTo(Integer value) {
+            addCriterion("dd_free_kandian >=", value, "ddFreeKandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andDdFreeKandianGreaterThanOrEqualToColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("dd_free_kandian >= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andDdFreeKandianLessThan(Integer value) {
+            addCriterion("dd_free_kandian <", value, "ddFreeKandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andDdFreeKandianLessThanColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("dd_free_kandian < ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andDdFreeKandianLessThanOrEqualTo(Integer value) {
+            addCriterion("dd_free_kandian <=", value, "ddFreeKandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andDdFreeKandianLessThanOrEqualToColumn(Consume.Column column) {
+            addCriterion(new StringBuilder("dd_free_kandian <= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andDdFreeKandianIn(List<Integer> values) {
+            addCriterion("dd_free_kandian in", values, "ddFreeKandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andDdFreeKandianNotIn(List<Integer> values) {
+            addCriterion("dd_free_kandian not in", values, "ddFreeKandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andDdFreeKandianBetween(Integer value1, Integer value2) {
+            addCriterion("dd_free_kandian between", value1, value2, "ddFreeKandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andDdFreeKandianNotBetween(Integer value1, Integer value2) {
+            addCriterion("dd_free_kandian not between", value1, value2, "ddFreeKandian");
+            return (Criteria) this;
+        }
+    }
+
+    /**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table consume
+     *
+     * @mbg.generated do_not_delete_during_merge Sun Aug 22 13:51:10 CST 2021
+     */
+    public static class Criteria extends GeneratedCriteria {
+        /**
+         * This field was generated by MyBatis Generator.
+         * This field corresponds to the database table consume
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        private ConsumeExample example;
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table consume
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        protected Criteria(ConsumeExample example) {
+            super();
+            this.example = example;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table consume
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public ConsumeExample example() {
+            return this.example;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table consume
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        @Deprecated
+        public Criteria andIf(boolean ifAdd, ICriteriaAdd add) {
+            if (ifAdd) {
+                add.add(this);
+            }
+            return this;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table consume
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public Criteria when(boolean condition, ICriteriaWhen then) {
+            if (condition) {
+                then.criteria(this);
+            }
+            return this;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table consume
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public Criteria when(boolean condition, ICriteriaWhen then, ICriteriaWhen otherwise) {
+            if (condition) {
+                then.criteria(this);
+            } else {
+                otherwise.criteria(this);
+            }
+            return this;
+        }
+
+        @Deprecated
+        public interface ICriteriaAdd {
+            /**
+             * This method was generated by MyBatis Generator.
+             * This method corresponds to the database table consume
+             *
+             * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+             */
+            Criteria add(Criteria add);
+        }
+    }
+
+    /**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table consume
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    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);
+        }
+    }
+
+    public interface ICriteriaWhen {
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table consume
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        void criteria(Criteria criteria);
+    }
+
+    public interface IExampleWhen {
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table consume
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        void example(com.book.dao.cpsshard.pojo.example.ConsumeExample example);
+    }
+}

+ 1851 - 0
book-dao/src/main/java/com/book/dao/cpsshard/pojo/example/RechargeExample.java

@@ -0,0 +1,1851 @@
+package com.book.dao.cpsshard.pojo.example;
+
+import com.book.dao.cpsshard.entity.Recharge;
+import java.util.ArrayList;
+import java.util.List;
+
+public class RechargeExample {
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table recharge
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    protected String orderByClause;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table recharge
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    protected boolean distinct;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table recharge
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    protected List<Criteria> oredCriteria;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table recharge
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    protected Integer offset;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table recharge
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    protected Integer rows;
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table recharge
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public RechargeExample() {
+        oredCriteria = new ArrayList<Criteria>();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table recharge
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public void setOrderByClause(String orderByClause) {
+        this.orderByClause = orderByClause;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table recharge
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public String getOrderByClause() {
+        return orderByClause;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table recharge
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public void setDistinct(boolean distinct) {
+        this.distinct = distinct;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table recharge
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public boolean isDistinct() {
+        return distinct;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table recharge
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public List<Criteria> getOredCriteria() {
+        return oredCriteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table recharge
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public void or(Criteria criteria) {
+        oredCriteria.add(criteria);
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table recharge
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    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 recharge
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public RechargeExample orderBy(String orderByClause) {
+        this.setOrderByClause(orderByClause);
+        return this;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table recharge
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public RechargeExample orderBy(String ... orderByClauses) {
+        StringBuffer sb = new StringBuffer();
+        for (int i = 0; i < orderByClauses.length; i++) {
+            sb.append(orderByClauses[i]);
+            if (i < orderByClauses.length - 1) {
+                sb.append(" , ");
+            }
+        }
+        this.setOrderByClause(sb.toString());
+        return this;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table recharge
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    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 recharge
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    protected Criteria createCriteriaInternal() {
+        Criteria criteria = new Criteria(this);
+        return criteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table recharge
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public void clear() {
+        oredCriteria.clear();
+        orderByClause = null;
+        distinct = false;
+        rows = null;
+        offset = null;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table recharge
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public void setOffset(Integer offset) {
+        this.offset = offset;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table recharge
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public Integer getOffset() {
+        return this.offset;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table recharge
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public void setRows(Integer rows) {
+        this.rows = rows;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table recharge
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public Integer getRows() {
+        return this.rows;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table recharge
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public RechargeExample limit(Integer rows) {
+        this.rows = rows;
+        return this;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table recharge
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public RechargeExample limit(Integer offset, Integer rows) {
+        this.offset = offset;
+        this.rows = rows;
+        return this;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table recharge
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public RechargeExample page(Integer page, Integer pageSize) {
+        this.offset = page * pageSize;
+        this.rows = pageSize;
+        return this;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table recharge
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public static Criteria newAndCreateCriteria() {
+        RechargeExample example = new RechargeExample();
+        return example.createCriteria();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table recharge
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public RechargeExample when(boolean condition, IExampleWhen then) {
+        if (condition) {
+            then.example(this);
+        }
+        return this;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table recharge
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public RechargeExample when(boolean condition, IExampleWhen then, IExampleWhen otherwise) {
+        if (condition) {
+            then.example(this);
+        } else {
+            otherwise.example(this);
+        }
+        return this;
+    }
+
+    /**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table recharge
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    protected abstract static class GeneratedCriteria {
+        protected List<Criterion> criteria;
+
+        protected GeneratedCriteria() {
+            super();
+            criteria = new ArrayList<Criterion>();
+        }
+
+        public boolean isValid() {
+            return criteria.size() > 0;
+        }
+
+        public List<Criterion> getAllCriteria() {
+            return criteria;
+        }
+
+        public List<Criterion> getCriteria() {
+            return criteria;
+        }
+
+        protected void addCriterion(String condition) {
+            if (condition == null) {
+                throw new RuntimeException("Value for condition cannot be null");
+            }
+            criteria.add(new Criterion(condition));
+        }
+
+        protected void addCriterion(String condition, Object value, String property) {
+            if (value == null) {
+                throw new RuntimeException("Value for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value));
+        }
+
+        protected void addCriterion(String condition, Object value1, Object value2, String property) {
+            if (value1 == null || value2 == null) {
+                throw new RuntimeException("Between values for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value1, value2));
+        }
+
+        public Criteria andIdIsNull() {
+            addCriterion("id is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdIsNotNull() {
+            addCriterion("id is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdEqualTo(Long value) {
+            addCriterion("id =", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdEqualToColumn(Recharge.Column column) {
+            addCriterion(new StringBuilder("id = ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotEqualTo(Long value) {
+            addCriterion("id <>", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotEqualToColumn(Recharge.Column column) {
+            addCriterion(new StringBuilder("id <> ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThan(Long value) {
+            addCriterion("id >", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThanColumn(Recharge.Column column) {
+            addCriterion(new StringBuilder("id > ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThanOrEqualTo(Long value) {
+            addCriterion("id >=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThanOrEqualToColumn(Recharge.Column column) {
+            addCriterion(new StringBuilder("id >= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThan(Long value) {
+            addCriterion("id <", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThanColumn(Recharge.Column column) {
+            addCriterion(new StringBuilder("id < ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThanOrEqualTo(Long value) {
+            addCriterion("id <=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThanOrEqualToColumn(Recharge.Column column) {
+            addCriterion(new StringBuilder("id <= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andIdIn(List<Long> values) {
+            addCriterion("id in", values, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotIn(List<Long> values) {
+            addCriterion("id not in", values, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdBetween(Long value1, Long value2) {
+            addCriterion("id between", value1, value2, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotBetween(Long value1, Long value2) {
+            addCriterion("id not between", value1, value2, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andUserIdIsNull() {
+            addCriterion("user_id is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUserIdIsNotNull() {
+            addCriterion("user_id is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUserIdEqualTo(Long value) {
+            addCriterion("user_id =", value, "userId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUserIdEqualToColumn(Recharge.Column column) {
+            addCriterion(new StringBuilder("user_id = ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andUserIdNotEqualTo(Long value) {
+            addCriterion("user_id <>", value, "userId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUserIdNotEqualToColumn(Recharge.Column column) {
+            addCriterion(new StringBuilder("user_id <> ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andUserIdGreaterThan(Long value) {
+            addCriterion("user_id >", value, "userId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUserIdGreaterThanColumn(Recharge.Column column) {
+            addCriterion(new StringBuilder("user_id > ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andUserIdGreaterThanOrEqualTo(Long value) {
+            addCriterion("user_id >=", value, "userId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUserIdGreaterThanOrEqualToColumn(Recharge.Column column) {
+            addCriterion(new StringBuilder("user_id >= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andUserIdLessThan(Long value) {
+            addCriterion("user_id <", value, "userId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUserIdLessThanColumn(Recharge.Column column) {
+            addCriterion(new StringBuilder("user_id < ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andUserIdLessThanOrEqualTo(Long value) {
+            addCriterion("user_id <=", value, "userId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUserIdLessThanOrEqualToColumn(Recharge.Column column) {
+            addCriterion(new StringBuilder("user_id <= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andUserIdIn(List<Long> values) {
+            addCriterion("user_id in", values, "userId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUserIdNotIn(List<Long> values) {
+            addCriterion("user_id not in", values, "userId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUserIdBetween(Long value1, Long value2) {
+            addCriterion("user_id between", value1, value2, "userId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUserIdNotBetween(Long value1, Long value2) {
+            addCriterion("user_id not between", value1, value2, "userId");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeIsNull() {
+            addCriterion("type is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeIsNotNull() {
+            addCriterion("type is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeEqualTo(String value) {
+            addCriterion("type =", value, "type");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeEqualToColumn(Recharge.Column column) {
+            addCriterion(new StringBuilder("type = ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeNotEqualTo(String value) {
+            addCriterion("type <>", value, "type");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeNotEqualToColumn(Recharge.Column column) {
+            addCriterion(new StringBuilder("type <> ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeGreaterThan(String value) {
+            addCriterion("type >", value, "type");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeGreaterThanColumn(Recharge.Column column) {
+            addCriterion(new StringBuilder("type > ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeGreaterThanOrEqualTo(String value) {
+            addCriterion("type >=", value, "type");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeGreaterThanOrEqualToColumn(Recharge.Column column) {
+            addCriterion(new StringBuilder("type >= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeLessThan(String value) {
+            addCriterion("type <", value, "type");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeLessThanColumn(Recharge.Column column) {
+            addCriterion(new StringBuilder("type < ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeLessThanOrEqualTo(String value) {
+            addCriterion("type <=", value, "type");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeLessThanOrEqualToColumn(Recharge.Column column) {
+            addCriterion(new StringBuilder("type <= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeLike(String value) {
+            addCriterion("type like", value, "type");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeNotLike(String value) {
+            addCriterion("type not like", value, "type");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeIn(List<String> values) {
+            addCriterion("type in", values, "type");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeNotIn(List<String> values) {
+            addCriterion("type not in", values, "type");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeBetween(String value1, String value2) {
+            addCriterion("type between", value1, value2, "type");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeNotBetween(String value1, String value2) {
+            addCriterion("type not between", value1, value2, "type");
+            return (Criteria) this;
+        }
+
+        public Criteria andKandianIsNull() {
+            addCriterion("kandian is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andKandianIsNotNull() {
+            addCriterion("kandian is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andKandianEqualTo(Integer value) {
+            addCriterion("kandian =", value, "kandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andKandianEqualToColumn(Recharge.Column column) {
+            addCriterion(new StringBuilder("kandian = ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andKandianNotEqualTo(Integer value) {
+            addCriterion("kandian <>", value, "kandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andKandianNotEqualToColumn(Recharge.Column column) {
+            addCriterion(new StringBuilder("kandian <> ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andKandianGreaterThan(Integer value) {
+            addCriterion("kandian >", value, "kandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andKandianGreaterThanColumn(Recharge.Column column) {
+            addCriterion(new StringBuilder("kandian > ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andKandianGreaterThanOrEqualTo(Integer value) {
+            addCriterion("kandian >=", value, "kandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andKandianGreaterThanOrEqualToColumn(Recharge.Column column) {
+            addCriterion(new StringBuilder("kandian >= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andKandianLessThan(Integer value) {
+            addCriterion("kandian <", value, "kandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andKandianLessThanColumn(Recharge.Column column) {
+            addCriterion(new StringBuilder("kandian < ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andKandianLessThanOrEqualTo(Integer value) {
+            addCriterion("kandian <=", value, "kandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andKandianLessThanOrEqualToColumn(Recharge.Column column) {
+            addCriterion(new StringBuilder("kandian <= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andKandianIn(List<Integer> values) {
+            addCriterion("kandian in", values, "kandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andKandianNotIn(List<Integer> values) {
+            addCriterion("kandian not in", values, "kandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andKandianBetween(Integer value1, Integer value2) {
+            addCriterion("kandian between", value1, value2, "kandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andKandianNotBetween(Integer value1, Integer value2) {
+            addCriterion("kandian not between", value1, value2, "kandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeKandianIsNull() {
+            addCriterion("free_kandian is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeKandianIsNotNull() {
+            addCriterion("free_kandian is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeKandianEqualTo(Integer value) {
+            addCriterion("free_kandian =", value, "freeKandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeKandianEqualToColumn(Recharge.Column column) {
+            addCriterion(new StringBuilder("free_kandian = ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeKandianNotEqualTo(Integer value) {
+            addCriterion("free_kandian <>", value, "freeKandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeKandianNotEqualToColumn(Recharge.Column column) {
+            addCriterion(new StringBuilder("free_kandian <> ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeKandianGreaterThan(Integer value) {
+            addCriterion("free_kandian >", value, "freeKandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeKandianGreaterThanColumn(Recharge.Column column) {
+            addCriterion(new StringBuilder("free_kandian > ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeKandianGreaterThanOrEqualTo(Integer value) {
+            addCriterion("free_kandian >=", value, "freeKandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeKandianGreaterThanOrEqualToColumn(Recharge.Column column) {
+            addCriterion(new StringBuilder("free_kandian >= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeKandianLessThan(Integer value) {
+            addCriterion("free_kandian <", value, "freeKandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeKandianLessThanColumn(Recharge.Column column) {
+            addCriterion(new StringBuilder("free_kandian < ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeKandianLessThanOrEqualTo(Integer value) {
+            addCriterion("free_kandian <=", value, "freeKandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeKandianLessThanOrEqualToColumn(Recharge.Column column) {
+            addCriterion(new StringBuilder("free_kandian <= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeKandianIn(List<Integer> values) {
+            addCriterion("free_kandian in", values, "freeKandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeKandianNotIn(List<Integer> values) {
+            addCriterion("free_kandian not in", values, "freeKandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeKandianBetween(Integer value1, Integer value2) {
+            addCriterion("free_kandian between", value1, value2, "freeKandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeKandianNotBetween(Integer value1, Integer value2) {
+            addCriterion("free_kandian not between", value1, value2, "freeKandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemainFreeKandianIsNull() {
+            addCriterion("remain_free_kandian is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemainFreeKandianIsNotNull() {
+            addCriterion("remain_free_kandian is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemainFreeKandianEqualTo(Integer value) {
+            addCriterion("remain_free_kandian =", value, "remainFreeKandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemainFreeKandianEqualToColumn(Recharge.Column column) {
+            addCriterion(new StringBuilder("remain_free_kandian = ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andRemainFreeKandianNotEqualTo(Integer value) {
+            addCriterion("remain_free_kandian <>", value, "remainFreeKandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemainFreeKandianNotEqualToColumn(Recharge.Column column) {
+            addCriterion(new StringBuilder("remain_free_kandian <> ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andRemainFreeKandianGreaterThan(Integer value) {
+            addCriterion("remain_free_kandian >", value, "remainFreeKandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemainFreeKandianGreaterThanColumn(Recharge.Column column) {
+            addCriterion(new StringBuilder("remain_free_kandian > ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andRemainFreeKandianGreaterThanOrEqualTo(Integer value) {
+            addCriterion("remain_free_kandian >=", value, "remainFreeKandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemainFreeKandianGreaterThanOrEqualToColumn(Recharge.Column column) {
+            addCriterion(new StringBuilder("remain_free_kandian >= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andRemainFreeKandianLessThan(Integer value) {
+            addCriterion("remain_free_kandian <", value, "remainFreeKandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemainFreeKandianLessThanColumn(Recharge.Column column) {
+            addCriterion(new StringBuilder("remain_free_kandian < ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andRemainFreeKandianLessThanOrEqualTo(Integer value) {
+            addCriterion("remain_free_kandian <=", value, "remainFreeKandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemainFreeKandianLessThanOrEqualToColumn(Recharge.Column column) {
+            addCriterion(new StringBuilder("remain_free_kandian <= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andRemainFreeKandianIn(List<Integer> values) {
+            addCriterion("remain_free_kandian in", values, "remainFreeKandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemainFreeKandianNotIn(List<Integer> values) {
+            addCriterion("remain_free_kandian not in", values, "remainFreeKandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemainFreeKandianBetween(Integer value1, Integer value2) {
+            addCriterion("remain_free_kandian between", value1, value2, "remainFreeKandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemainFreeKandianNotBetween(Integer value1, Integer value2) {
+            addCriterion("remain_free_kandian not between", value1, value2, "remainFreeKandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeEndtimeIsNull() {
+            addCriterion("free_endtime is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeEndtimeIsNotNull() {
+            addCriterion("free_endtime is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeEndtimeEqualTo(Integer value) {
+            addCriterion("free_endtime =", value, "freeEndtime");
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeEndtimeEqualToColumn(Recharge.Column column) {
+            addCriterion(new StringBuilder("free_endtime = ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeEndtimeNotEqualTo(Integer value) {
+            addCriterion("free_endtime <>", value, "freeEndtime");
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeEndtimeNotEqualToColumn(Recharge.Column column) {
+            addCriterion(new StringBuilder("free_endtime <> ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeEndtimeGreaterThan(Integer value) {
+            addCriterion("free_endtime >", value, "freeEndtime");
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeEndtimeGreaterThanColumn(Recharge.Column column) {
+            addCriterion(new StringBuilder("free_endtime > ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeEndtimeGreaterThanOrEqualTo(Integer value) {
+            addCriterion("free_endtime >=", value, "freeEndtime");
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeEndtimeGreaterThanOrEqualToColumn(Recharge.Column column) {
+            addCriterion(new StringBuilder("free_endtime >= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeEndtimeLessThan(Integer value) {
+            addCriterion("free_endtime <", value, "freeEndtime");
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeEndtimeLessThanColumn(Recharge.Column column) {
+            addCriterion(new StringBuilder("free_endtime < ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeEndtimeLessThanOrEqualTo(Integer value) {
+            addCriterion("free_endtime <=", value, "freeEndtime");
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeEndtimeLessThanOrEqualToColumn(Recharge.Column column) {
+            addCriterion(new StringBuilder("free_endtime <= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeEndtimeIn(List<Integer> values) {
+            addCriterion("free_endtime in", values, "freeEndtime");
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeEndtimeNotIn(List<Integer> values) {
+            addCriterion("free_endtime not in", values, "freeEndtime");
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeEndtimeBetween(Integer value1, Integer value2) {
+            addCriterion("free_endtime between", value1, value2, "freeEndtime");
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeEndtimeNotBetween(Integer value1, Integer value2) {
+            addCriterion("free_endtime not between", value1, value2, "freeEndtime");
+            return (Criteria) this;
+        }
+
+        public Criteria andDayIsNull() {
+            addCriterion("day is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andDayIsNotNull() {
+            addCriterion("day is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andDayEqualTo(Integer value) {
+            addCriterion("day =", value, "day");
+            return (Criteria) this;
+        }
+
+        public Criteria andDayEqualToColumn(Recharge.Column column) {
+            addCriterion(new StringBuilder("day = ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andDayNotEqualTo(Integer value) {
+            addCriterion("day <>", value, "day");
+            return (Criteria) this;
+        }
+
+        public Criteria andDayNotEqualToColumn(Recharge.Column column) {
+            addCriterion(new StringBuilder("day <> ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andDayGreaterThan(Integer value) {
+            addCriterion("day >", value, "day");
+            return (Criteria) this;
+        }
+
+        public Criteria andDayGreaterThanColumn(Recharge.Column column) {
+            addCriterion(new StringBuilder("day > ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andDayGreaterThanOrEqualTo(Integer value) {
+            addCriterion("day >=", value, "day");
+            return (Criteria) this;
+        }
+
+        public Criteria andDayGreaterThanOrEqualToColumn(Recharge.Column column) {
+            addCriterion(new StringBuilder("day >= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andDayLessThan(Integer value) {
+            addCriterion("day <", value, "day");
+            return (Criteria) this;
+        }
+
+        public Criteria andDayLessThanColumn(Recharge.Column column) {
+            addCriterion(new StringBuilder("day < ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andDayLessThanOrEqualTo(Integer value) {
+            addCriterion("day <=", value, "day");
+            return (Criteria) this;
+        }
+
+        public Criteria andDayLessThanOrEqualToColumn(Recharge.Column column) {
+            addCriterion(new StringBuilder("day <= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andDayIn(List<Integer> values) {
+            addCriterion("day in", values, "day");
+            return (Criteria) this;
+        }
+
+        public Criteria andDayNotIn(List<Integer> values) {
+            addCriterion("day not in", values, "day");
+            return (Criteria) this;
+        }
+
+        public Criteria andDayBetween(Integer value1, Integer value2) {
+            addCriterion("day between", value1, value2, "day");
+            return (Criteria) this;
+        }
+
+        public Criteria andDayNotBetween(Integer value1, Integer value2) {
+            addCriterion("day not between", value1, value2, "day");
+            return (Criteria) this;
+        }
+
+        public Criteria andHourIsNull() {
+            addCriterion("hour is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andHourIsNotNull() {
+            addCriterion("hour is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andHourEqualTo(Byte value) {
+            addCriterion("hour =", value, "hour");
+            return (Criteria) this;
+        }
+
+        public Criteria andHourEqualToColumn(Recharge.Column column) {
+            addCriterion(new StringBuilder("hour = ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andHourNotEqualTo(Byte value) {
+            addCriterion("hour <>", value, "hour");
+            return (Criteria) this;
+        }
+
+        public Criteria andHourNotEqualToColumn(Recharge.Column column) {
+            addCriterion(new StringBuilder("hour <> ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andHourGreaterThan(Byte value) {
+            addCriterion("hour >", value, "hour");
+            return (Criteria) this;
+        }
+
+        public Criteria andHourGreaterThanColumn(Recharge.Column column) {
+            addCriterion(new StringBuilder("hour > ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andHourGreaterThanOrEqualTo(Byte value) {
+            addCriterion("hour >=", value, "hour");
+            return (Criteria) this;
+        }
+
+        public Criteria andHourGreaterThanOrEqualToColumn(Recharge.Column column) {
+            addCriterion(new StringBuilder("hour >= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andHourLessThan(Byte value) {
+            addCriterion("hour <", value, "hour");
+            return (Criteria) this;
+        }
+
+        public Criteria andHourLessThanColumn(Recharge.Column column) {
+            addCriterion(new StringBuilder("hour < ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andHourLessThanOrEqualTo(Byte value) {
+            addCriterion("hour <=", value, "hour");
+            return (Criteria) this;
+        }
+
+        public Criteria andHourLessThanOrEqualToColumn(Recharge.Column column) {
+            addCriterion(new StringBuilder("hour <= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andHourIn(List<Byte> values) {
+            addCriterion("hour in", values, "hour");
+            return (Criteria) this;
+        }
+
+        public Criteria andHourNotIn(List<Byte> values) {
+            addCriterion("hour not in", values, "hour");
+            return (Criteria) this;
+        }
+
+        public Criteria andHourBetween(Byte value1, Byte value2) {
+            addCriterion("hour between", value1, value2, "hour");
+            return (Criteria) this;
+        }
+
+        public Criteria andHourNotBetween(Byte value1, Byte value2) {
+            addCriterion("hour not between", value1, value2, "hour");
+            return (Criteria) this;
+        }
+
+        public Criteria andBookIdIsNull() {
+            addCriterion("book_id is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andBookIdIsNotNull() {
+            addCriterion("book_id is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andBookIdEqualTo(Long value) {
+            addCriterion("book_id =", value, "bookId");
+            return (Criteria) this;
+        }
+
+        public Criteria andBookIdEqualToColumn(Recharge.Column column) {
+            addCriterion(new StringBuilder("book_id = ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andBookIdNotEqualTo(Long value) {
+            addCriterion("book_id <>", value, "bookId");
+            return (Criteria) this;
+        }
+
+        public Criteria andBookIdNotEqualToColumn(Recharge.Column column) {
+            addCriterion(new StringBuilder("book_id <> ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andBookIdGreaterThan(Long value) {
+            addCriterion("book_id >", value, "bookId");
+            return (Criteria) this;
+        }
+
+        public Criteria andBookIdGreaterThanColumn(Recharge.Column column) {
+            addCriterion(new StringBuilder("book_id > ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andBookIdGreaterThanOrEqualTo(Long value) {
+            addCriterion("book_id >=", value, "bookId");
+            return (Criteria) this;
+        }
+
+        public Criteria andBookIdGreaterThanOrEqualToColumn(Recharge.Column column) {
+            addCriterion(new StringBuilder("book_id >= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andBookIdLessThan(Long value) {
+            addCriterion("book_id <", value, "bookId");
+            return (Criteria) this;
+        }
+
+        public Criteria andBookIdLessThanColumn(Recharge.Column column) {
+            addCriterion(new StringBuilder("book_id < ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andBookIdLessThanOrEqualTo(Long value) {
+            addCriterion("book_id <=", value, "bookId");
+            return (Criteria) this;
+        }
+
+        public Criteria andBookIdLessThanOrEqualToColumn(Recharge.Column column) {
+            addCriterion(new StringBuilder("book_id <= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andBookIdIn(List<Long> values) {
+            addCriterion("book_id in", values, "bookId");
+            return (Criteria) this;
+        }
+
+        public Criteria andBookIdNotIn(List<Long> values) {
+            addCriterion("book_id not in", values, "bookId");
+            return (Criteria) this;
+        }
+
+        public Criteria andBookIdBetween(Long value1, Long value2) {
+            addCriterion("book_id between", value1, value2, "bookId");
+            return (Criteria) this;
+        }
+
+        public Criteria andBookIdNotBetween(Long value1, Long value2) {
+            addCriterion("book_id not between", value1, value2, "bookId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeIsNull() {
+            addCriterion("createtime is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeIsNotNull() {
+            addCriterion("createtime is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeEqualTo(Integer value) {
+            addCriterion("createtime =", value, "createtime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeEqualToColumn(Recharge.Column column) {
+            addCriterion(new StringBuilder("createtime = ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeNotEqualTo(Integer value) {
+            addCriterion("createtime <>", value, "createtime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeNotEqualToColumn(Recharge.Column column) {
+            addCriterion(new StringBuilder("createtime <> ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeGreaterThan(Integer value) {
+            addCriterion("createtime >", value, "createtime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeGreaterThanColumn(Recharge.Column column) {
+            addCriterion(new StringBuilder("createtime > ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeGreaterThanOrEqualTo(Integer value) {
+            addCriterion("createtime >=", value, "createtime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeGreaterThanOrEqualToColumn(Recharge.Column column) {
+            addCriterion(new StringBuilder("createtime >= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeLessThan(Integer value) {
+            addCriterion("createtime <", value, "createtime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeLessThanColumn(Recharge.Column column) {
+            addCriterion(new StringBuilder("createtime < ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeLessThanOrEqualTo(Integer value) {
+            addCriterion("createtime <=", value, "createtime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeLessThanOrEqualToColumn(Recharge.Column column) {
+            addCriterion(new StringBuilder("createtime <= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeIn(List<Integer> values) {
+            addCriterion("createtime in", values, "createtime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeNotIn(List<Integer> values) {
+            addCriterion("createtime not in", values, "createtime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeBetween(Integer value1, Integer value2) {
+            addCriterion("createtime between", value1, value2, "createtime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeNotBetween(Integer value1, Integer value2) {
+            addCriterion("createtime not between", value1, value2, "createtime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdatetimeIsNull() {
+            addCriterion("updatetime is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdatetimeIsNotNull() {
+            addCriterion("updatetime is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdatetimeEqualTo(Integer value) {
+            addCriterion("updatetime =", value, "updatetime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdatetimeEqualToColumn(Recharge.Column column) {
+            addCriterion(new StringBuilder("updatetime = ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdatetimeNotEqualTo(Integer value) {
+            addCriterion("updatetime <>", value, "updatetime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdatetimeNotEqualToColumn(Recharge.Column column) {
+            addCriterion(new StringBuilder("updatetime <> ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdatetimeGreaterThan(Integer value) {
+            addCriterion("updatetime >", value, "updatetime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdatetimeGreaterThanColumn(Recharge.Column column) {
+            addCriterion(new StringBuilder("updatetime > ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdatetimeGreaterThanOrEqualTo(Integer value) {
+            addCriterion("updatetime >=", value, "updatetime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdatetimeGreaterThanOrEqualToColumn(Recharge.Column column) {
+            addCriterion(new StringBuilder("updatetime >= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdatetimeLessThan(Integer value) {
+            addCriterion("updatetime <", value, "updatetime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdatetimeLessThanColumn(Recharge.Column column) {
+            addCriterion(new StringBuilder("updatetime < ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdatetimeLessThanOrEqualTo(Integer value) {
+            addCriterion("updatetime <=", value, "updatetime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdatetimeLessThanOrEqualToColumn(Recharge.Column column) {
+            addCriterion(new StringBuilder("updatetime <= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdatetimeIn(List<Integer> values) {
+            addCriterion("updatetime in", values, "updatetime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdatetimeNotIn(List<Integer> values) {
+            addCriterion("updatetime not in", values, "updatetime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdatetimeBetween(Integer value1, Integer value2) {
+            addCriterion("updatetime between", value1, value2, "updatetime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdatetimeNotBetween(Integer value1, Integer value2) {
+            addCriterion("updatetime not between", value1, value2, "updatetime");
+            return (Criteria) this;
+        }
+
+        public Criteria andNotesIsNull() {
+            addCriterion("notes is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andNotesIsNotNull() {
+            addCriterion("notes is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andNotesEqualTo(String value) {
+            addCriterion("notes =", value, "notes");
+            return (Criteria) this;
+        }
+
+        public Criteria andNotesEqualToColumn(Recharge.Column column) {
+            addCriterion(new StringBuilder("notes = ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andNotesNotEqualTo(String value) {
+            addCriterion("notes <>", value, "notes");
+            return (Criteria) this;
+        }
+
+        public Criteria andNotesNotEqualToColumn(Recharge.Column column) {
+            addCriterion(new StringBuilder("notes <> ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andNotesGreaterThan(String value) {
+            addCriterion("notes >", value, "notes");
+            return (Criteria) this;
+        }
+
+        public Criteria andNotesGreaterThanColumn(Recharge.Column column) {
+            addCriterion(new StringBuilder("notes > ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andNotesGreaterThanOrEqualTo(String value) {
+            addCriterion("notes >=", value, "notes");
+            return (Criteria) this;
+        }
+
+        public Criteria andNotesGreaterThanOrEqualToColumn(Recharge.Column column) {
+            addCriterion(new StringBuilder("notes >= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andNotesLessThan(String value) {
+            addCriterion("notes <", value, "notes");
+            return (Criteria) this;
+        }
+
+        public Criteria andNotesLessThanColumn(Recharge.Column column) {
+            addCriterion(new StringBuilder("notes < ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andNotesLessThanOrEqualTo(String value) {
+            addCriterion("notes <=", value, "notes");
+            return (Criteria) this;
+        }
+
+        public Criteria andNotesLessThanOrEqualToColumn(Recharge.Column column) {
+            addCriterion(new StringBuilder("notes <= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andNotesLike(String value) {
+            addCriterion("notes like", value, "notes");
+            return (Criteria) this;
+        }
+
+        public Criteria andNotesNotLike(String value) {
+            addCriterion("notes not like", value, "notes");
+            return (Criteria) this;
+        }
+
+        public Criteria andNotesIn(List<String> values) {
+            addCriterion("notes in", values, "notes");
+            return (Criteria) this;
+        }
+
+        public Criteria andNotesNotIn(List<String> values) {
+            addCriterion("notes not in", values, "notes");
+            return (Criteria) this;
+        }
+
+        public Criteria andNotesBetween(String value1, String value2) {
+            addCriterion("notes between", value1, value2, "notes");
+            return (Criteria) this;
+        }
+
+        public Criteria andNotesNotBetween(String value1, String value2) {
+            addCriterion("notes not between", value1, value2, "notes");
+            return (Criteria) this;
+        }
+
+        public Criteria andEditTypeIsNull() {
+            addCriterion("edit_type is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andEditTypeIsNotNull() {
+            addCriterion("edit_type is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andEditTypeEqualTo(String value) {
+            addCriterion("edit_type =", value, "editType");
+            return (Criteria) this;
+        }
+
+        public Criteria andEditTypeEqualToColumn(Recharge.Column column) {
+            addCriterion(new StringBuilder("edit_type = ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andEditTypeNotEqualTo(String value) {
+            addCriterion("edit_type <>", value, "editType");
+            return (Criteria) this;
+        }
+
+        public Criteria andEditTypeNotEqualToColumn(Recharge.Column column) {
+            addCriterion(new StringBuilder("edit_type <> ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andEditTypeGreaterThan(String value) {
+            addCriterion("edit_type >", value, "editType");
+            return (Criteria) this;
+        }
+
+        public Criteria andEditTypeGreaterThanColumn(Recharge.Column column) {
+            addCriterion(new StringBuilder("edit_type > ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andEditTypeGreaterThanOrEqualTo(String value) {
+            addCriterion("edit_type >=", value, "editType");
+            return (Criteria) this;
+        }
+
+        public Criteria andEditTypeGreaterThanOrEqualToColumn(Recharge.Column column) {
+            addCriterion(new StringBuilder("edit_type >= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andEditTypeLessThan(String value) {
+            addCriterion("edit_type <", value, "editType");
+            return (Criteria) this;
+        }
+
+        public Criteria andEditTypeLessThanColumn(Recharge.Column column) {
+            addCriterion(new StringBuilder("edit_type < ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andEditTypeLessThanOrEqualTo(String value) {
+            addCriterion("edit_type <=", value, "editType");
+            return (Criteria) this;
+        }
+
+        public Criteria andEditTypeLessThanOrEqualToColumn(Recharge.Column column) {
+            addCriterion(new StringBuilder("edit_type <= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andEditTypeLike(String value) {
+            addCriterion("edit_type like", value, "editType");
+            return (Criteria) this;
+        }
+
+        public Criteria andEditTypeNotLike(String value) {
+            addCriterion("edit_type not like", value, "editType");
+            return (Criteria) this;
+        }
+
+        public Criteria andEditTypeIn(List<String> values) {
+            addCriterion("edit_type in", values, "editType");
+            return (Criteria) this;
+        }
+
+        public Criteria andEditTypeNotIn(List<String> values) {
+            addCriterion("edit_type not in", values, "editType");
+            return (Criteria) this;
+        }
+
+        public Criteria andEditTypeBetween(String value1, String value2) {
+            addCriterion("edit_type between", value1, value2, "editType");
+            return (Criteria) this;
+        }
+
+        public Criteria andEditTypeNotBetween(String value1, String value2) {
+            addCriterion("edit_type not between", value1, value2, "editType");
+            return (Criteria) this;
+        }
+    }
+
+    /**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table recharge
+     *
+     * @mbg.generated do_not_delete_during_merge Sun Aug 22 13:51:10 CST 2021
+     */
+    public static class Criteria extends GeneratedCriteria {
+        /**
+         * This field was generated by MyBatis Generator.
+         * This field corresponds to the database table recharge
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        private RechargeExample example;
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table recharge
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        protected Criteria(RechargeExample example) {
+            super();
+            this.example = example;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table recharge
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public RechargeExample example() {
+            return this.example;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table recharge
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        @Deprecated
+        public Criteria andIf(boolean ifAdd, ICriteriaAdd add) {
+            if (ifAdd) {
+                add.add(this);
+            }
+            return this;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table recharge
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public Criteria when(boolean condition, ICriteriaWhen then) {
+            if (condition) {
+                then.criteria(this);
+            }
+            return this;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table recharge
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public Criteria when(boolean condition, ICriteriaWhen then, ICriteriaWhen otherwise) {
+            if (condition) {
+                then.criteria(this);
+            } else {
+                otherwise.criteria(this);
+            }
+            return this;
+        }
+
+        @Deprecated
+        public interface ICriteriaAdd {
+            /**
+             * This method was generated by MyBatis Generator.
+             * This method corresponds to the database table recharge
+             *
+             * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+             */
+            Criteria add(Criteria add);
+        }
+    }
+
+    /**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table recharge
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    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);
+        }
+    }
+
+    public interface ICriteriaWhen {
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table recharge
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        void criteria(Criteria criteria);
+    }
+
+    public interface IExampleWhen {
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table recharge
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        void example(com.book.dao.cpsshard.pojo.example.RechargeExample example);
+    }
+}

+ 1101 - 0
book-dao/src/main/java/com/book/dao/cpsshard/pojo/example/SignExample.java

@@ -0,0 +1,1101 @@
+package com.book.dao.cpsshard.pojo.example;
+
+import com.book.dao.cpsshard.entity.Sign;
+import java.util.ArrayList;
+import java.util.List;
+
+public class SignExample {
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table sign
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    protected String orderByClause;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table sign
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    protected boolean distinct;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table sign
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    protected List<Criteria> oredCriteria;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table sign
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    protected Integer offset;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table sign
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    protected Integer rows;
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table sign
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public SignExample() {
+        oredCriteria = new ArrayList<Criteria>();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table sign
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public void setOrderByClause(String orderByClause) {
+        this.orderByClause = orderByClause;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table sign
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public String getOrderByClause() {
+        return orderByClause;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table sign
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public void setDistinct(boolean distinct) {
+        this.distinct = distinct;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table sign
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public boolean isDistinct() {
+        return distinct;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table sign
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public List<Criteria> getOredCriteria() {
+        return oredCriteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table sign
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public void or(Criteria criteria) {
+        oredCriteria.add(criteria);
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table sign
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    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 sign
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public SignExample orderBy(String orderByClause) {
+        this.setOrderByClause(orderByClause);
+        return this;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table sign
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public SignExample orderBy(String ... orderByClauses) {
+        StringBuffer sb = new StringBuffer();
+        for (int i = 0; i < orderByClauses.length; i++) {
+            sb.append(orderByClauses[i]);
+            if (i < orderByClauses.length - 1) {
+                sb.append(" , ");
+            }
+        }
+        this.setOrderByClause(sb.toString());
+        return this;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table sign
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    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 sign
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    protected Criteria createCriteriaInternal() {
+        Criteria criteria = new Criteria(this);
+        return criteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table sign
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public void clear() {
+        oredCriteria.clear();
+        orderByClause = null;
+        distinct = false;
+        rows = null;
+        offset = null;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table sign
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public void setOffset(Integer offset) {
+        this.offset = offset;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table sign
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public Integer getOffset() {
+        return this.offset;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table sign
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public void setRows(Integer rows) {
+        this.rows = rows;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table sign
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public Integer getRows() {
+        return this.rows;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table sign
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public SignExample limit(Integer rows) {
+        this.rows = rows;
+        return this;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table sign
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public SignExample limit(Integer offset, Integer rows) {
+        this.offset = offset;
+        this.rows = rows;
+        return this;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table sign
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public SignExample page(Integer page, Integer pageSize) {
+        this.offset = page * pageSize;
+        this.rows = pageSize;
+        return this;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table sign
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public static Criteria newAndCreateCriteria() {
+        SignExample example = new SignExample();
+        return example.createCriteria();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table sign
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public SignExample when(boolean condition, IExampleWhen then) {
+        if (condition) {
+            then.example(this);
+        }
+        return this;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table sign
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public SignExample when(boolean condition, IExampleWhen then, IExampleWhen otherwise) {
+        if (condition) {
+            then.example(this);
+        } else {
+            otherwise.example(this);
+        }
+        return this;
+    }
+
+    /**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table sign
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    protected abstract static class GeneratedCriteria {
+        protected List<Criterion> criteria;
+
+        protected GeneratedCriteria() {
+            super();
+            criteria = new ArrayList<Criterion>();
+        }
+
+        public boolean isValid() {
+            return criteria.size() > 0;
+        }
+
+        public List<Criterion> getAllCriteria() {
+            return criteria;
+        }
+
+        public List<Criterion> getCriteria() {
+            return criteria;
+        }
+
+        protected void addCriterion(String condition) {
+            if (condition == null) {
+                throw new RuntimeException("Value for condition cannot be null");
+            }
+            criteria.add(new Criterion(condition));
+        }
+
+        protected void addCriterion(String condition, Object value, String property) {
+            if (value == null) {
+                throw new RuntimeException("Value for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value));
+        }
+
+        protected void addCriterion(String condition, Object value1, Object value2, String property) {
+            if (value1 == null || value2 == null) {
+                throw new RuntimeException("Between values for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value1, value2));
+        }
+
+        public Criteria andIdIsNull() {
+            addCriterion("id is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdIsNotNull() {
+            addCriterion("id is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdEqualTo(Integer value) {
+            addCriterion("id =", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdEqualToColumn(Sign.Column column) {
+            addCriterion(new StringBuilder("id = ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotEqualTo(Integer value) {
+            addCriterion("id <>", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotEqualToColumn(Sign.Column column) {
+            addCriterion(new StringBuilder("id <> ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThan(Integer value) {
+            addCriterion("id >", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThanColumn(Sign.Column column) {
+            addCriterion(new StringBuilder("id > ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
+            addCriterion("id >=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThanOrEqualToColumn(Sign.Column column) {
+            addCriterion(new StringBuilder("id >= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThan(Integer value) {
+            addCriterion("id <", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThanColumn(Sign.Column column) {
+            addCriterion(new StringBuilder("id < ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThanOrEqualTo(Integer value) {
+            addCriterion("id <=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThanOrEqualToColumn(Sign.Column column) {
+            addCriterion(new StringBuilder("id <= ").append(column.getEscapedColumnName()).toString());
+            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 andUidIsNull() {
+            addCriterion("uid is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUidIsNotNull() {
+            addCriterion("uid is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUidEqualTo(Integer value) {
+            addCriterion("uid =", value, "uid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUidEqualToColumn(Sign.Column column) {
+            addCriterion(new StringBuilder("uid = ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andUidNotEqualTo(Integer value) {
+            addCriterion("uid <>", value, "uid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUidNotEqualToColumn(Sign.Column column) {
+            addCriterion(new StringBuilder("uid <> ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andUidGreaterThan(Integer value) {
+            addCriterion("uid >", value, "uid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUidGreaterThanColumn(Sign.Column column) {
+            addCriterion(new StringBuilder("uid > ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andUidGreaterThanOrEqualTo(Integer value) {
+            addCriterion("uid >=", value, "uid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUidGreaterThanOrEqualToColumn(Sign.Column column) {
+            addCriterion(new StringBuilder("uid >= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andUidLessThan(Integer value) {
+            addCriterion("uid <", value, "uid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUidLessThanColumn(Sign.Column column) {
+            addCriterion(new StringBuilder("uid < ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andUidLessThanOrEqualTo(Integer value) {
+            addCriterion("uid <=", value, "uid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUidLessThanOrEqualToColumn(Sign.Column column) {
+            addCriterion(new StringBuilder("uid <= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andUidIn(List<Integer> values) {
+            addCriterion("uid in", values, "uid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUidNotIn(List<Integer> values) {
+            addCriterion("uid not in", values, "uid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUidBetween(Integer value1, Integer value2) {
+            addCriterion("uid between", value1, value2, "uid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUidNotBetween(Integer value1, Integer value2) {
+            addCriterion("uid not between", value1, value2, "uid");
+            return (Criteria) this;
+        }
+
+        public Criteria andKandianIsNull() {
+            addCriterion("kandian is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andKandianIsNotNull() {
+            addCriterion("kandian is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andKandianEqualTo(Integer value) {
+            addCriterion("kandian =", value, "kandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andKandianEqualToColumn(Sign.Column column) {
+            addCriterion(new StringBuilder("kandian = ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andKandianNotEqualTo(Integer value) {
+            addCriterion("kandian <>", value, "kandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andKandianNotEqualToColumn(Sign.Column column) {
+            addCriterion(new StringBuilder("kandian <> ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andKandianGreaterThan(Integer value) {
+            addCriterion("kandian >", value, "kandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andKandianGreaterThanColumn(Sign.Column column) {
+            addCriterion(new StringBuilder("kandian > ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andKandianGreaterThanOrEqualTo(Integer value) {
+            addCriterion("kandian >=", value, "kandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andKandianGreaterThanOrEqualToColumn(Sign.Column column) {
+            addCriterion(new StringBuilder("kandian >= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andKandianLessThan(Integer value) {
+            addCriterion("kandian <", value, "kandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andKandianLessThanColumn(Sign.Column column) {
+            addCriterion(new StringBuilder("kandian < ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andKandianLessThanOrEqualTo(Integer value) {
+            addCriterion("kandian <=", value, "kandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andKandianLessThanOrEqualToColumn(Sign.Column column) {
+            addCriterion(new StringBuilder("kandian <= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andKandianIn(List<Integer> values) {
+            addCriterion("kandian in", values, "kandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andKandianNotIn(List<Integer> values) {
+            addCriterion("kandian not in", values, "kandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andKandianBetween(Integer value1, Integer value2) {
+            addCriterion("kandian between", value1, value2, "kandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andKandianNotBetween(Integer value1, Integer value2) {
+            addCriterion("kandian not between", value1, value2, "kandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andDaysIsNull() {
+            addCriterion("days is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andDaysIsNotNull() {
+            addCriterion("days is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andDaysEqualTo(Byte value) {
+            addCriterion("days =", value, "days");
+            return (Criteria) this;
+        }
+
+        public Criteria andDaysEqualToColumn(Sign.Column column) {
+            addCriterion(new StringBuilder("days = ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andDaysNotEqualTo(Byte value) {
+            addCriterion("days <>", value, "days");
+            return (Criteria) this;
+        }
+
+        public Criteria andDaysNotEqualToColumn(Sign.Column column) {
+            addCriterion(new StringBuilder("days <> ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andDaysGreaterThan(Byte value) {
+            addCriterion("days >", value, "days");
+            return (Criteria) this;
+        }
+
+        public Criteria andDaysGreaterThanColumn(Sign.Column column) {
+            addCriterion(new StringBuilder("days > ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andDaysGreaterThanOrEqualTo(Byte value) {
+            addCriterion("days >=", value, "days");
+            return (Criteria) this;
+        }
+
+        public Criteria andDaysGreaterThanOrEqualToColumn(Sign.Column column) {
+            addCriterion(new StringBuilder("days >= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andDaysLessThan(Byte value) {
+            addCriterion("days <", value, "days");
+            return (Criteria) this;
+        }
+
+        public Criteria andDaysLessThanColumn(Sign.Column column) {
+            addCriterion(new StringBuilder("days < ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andDaysLessThanOrEqualTo(Byte value) {
+            addCriterion("days <=", value, "days");
+            return (Criteria) this;
+        }
+
+        public Criteria andDaysLessThanOrEqualToColumn(Sign.Column column) {
+            addCriterion(new StringBuilder("days <= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andDaysIn(List<Byte> values) {
+            addCriterion("days in", values, "days");
+            return (Criteria) this;
+        }
+
+        public Criteria andDaysNotIn(List<Byte> values) {
+            addCriterion("days not in", values, "days");
+            return (Criteria) this;
+        }
+
+        public Criteria andDaysBetween(Byte value1, Byte value2) {
+            addCriterion("days between", value1, value2, "days");
+            return (Criteria) this;
+        }
+
+        public Criteria andDaysNotBetween(Byte value1, Byte value2) {
+            addCriterion("days not between", value1, value2, "days");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedateIsNull() {
+            addCriterion("createdate is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedateIsNotNull() {
+            addCriterion("createdate is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedateEqualTo(Integer value) {
+            addCriterion("createdate =", value, "createdate");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedateEqualToColumn(Sign.Column column) {
+            addCriterion(new StringBuilder("createdate = ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedateNotEqualTo(Integer value) {
+            addCriterion("createdate <>", value, "createdate");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedateNotEqualToColumn(Sign.Column column) {
+            addCriterion(new StringBuilder("createdate <> ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedateGreaterThan(Integer value) {
+            addCriterion("createdate >", value, "createdate");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedateGreaterThanColumn(Sign.Column column) {
+            addCriterion(new StringBuilder("createdate > ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedateGreaterThanOrEqualTo(Integer value) {
+            addCriterion("createdate >=", value, "createdate");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedateGreaterThanOrEqualToColumn(Sign.Column column) {
+            addCriterion(new StringBuilder("createdate >= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedateLessThan(Integer value) {
+            addCriterion("createdate <", value, "createdate");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedateLessThanColumn(Sign.Column column) {
+            addCriterion(new StringBuilder("createdate < ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedateLessThanOrEqualTo(Integer value) {
+            addCriterion("createdate <=", value, "createdate");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedateLessThanOrEqualToColumn(Sign.Column column) {
+            addCriterion(new StringBuilder("createdate <= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedateIn(List<Integer> values) {
+            addCriterion("createdate in", values, "createdate");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedateNotIn(List<Integer> values) {
+            addCriterion("createdate not in", values, "createdate");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedateBetween(Integer value1, Integer value2) {
+            addCriterion("createdate between", value1, value2, "createdate");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedateNotBetween(Integer value1, Integer value2) {
+            addCriterion("createdate not between", value1, value2, "createdate");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeIsNull() {
+            addCriterion("createtime is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeIsNotNull() {
+            addCriterion("createtime is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeEqualTo(Integer value) {
+            addCriterion("createtime =", value, "createtime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeEqualToColumn(Sign.Column column) {
+            addCriterion(new StringBuilder("createtime = ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeNotEqualTo(Integer value) {
+            addCriterion("createtime <>", value, "createtime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeNotEqualToColumn(Sign.Column column) {
+            addCriterion(new StringBuilder("createtime <> ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeGreaterThan(Integer value) {
+            addCriterion("createtime >", value, "createtime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeGreaterThanColumn(Sign.Column column) {
+            addCriterion(new StringBuilder("createtime > ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeGreaterThanOrEqualTo(Integer value) {
+            addCriterion("createtime >=", value, "createtime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeGreaterThanOrEqualToColumn(Sign.Column column) {
+            addCriterion(new StringBuilder("createtime >= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeLessThan(Integer value) {
+            addCriterion("createtime <", value, "createtime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeLessThanColumn(Sign.Column column) {
+            addCriterion(new StringBuilder("createtime < ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeLessThanOrEqualTo(Integer value) {
+            addCriterion("createtime <=", value, "createtime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeLessThanOrEqualToColumn(Sign.Column column) {
+            addCriterion(new StringBuilder("createtime <= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeIn(List<Integer> values) {
+            addCriterion("createtime in", values, "createtime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeNotIn(List<Integer> values) {
+            addCriterion("createtime not in", values, "createtime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeBetween(Integer value1, Integer value2) {
+            addCriterion("createtime between", value1, value2, "createtime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeNotBetween(Integer value1, Integer value2) {
+            addCriterion("createtime not between", value1, value2, "createtime");
+            return (Criteria) this;
+        }
+    }
+
+    /**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table sign
+     *
+     * @mbg.generated do_not_delete_during_merge Sun Aug 22 13:51:10 CST 2021
+     */
+    public static class Criteria extends GeneratedCriteria {
+        /**
+         * This field was generated by MyBatis Generator.
+         * This field corresponds to the database table sign
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        private SignExample example;
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table sign
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        protected Criteria(SignExample example) {
+            super();
+            this.example = example;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table sign
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public SignExample example() {
+            return this.example;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table sign
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        @Deprecated
+        public Criteria andIf(boolean ifAdd, ICriteriaAdd add) {
+            if (ifAdd) {
+                add.add(this);
+            }
+            return this;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table sign
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public Criteria when(boolean condition, ICriteriaWhen then) {
+            if (condition) {
+                then.criteria(this);
+            }
+            return this;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table sign
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public Criteria when(boolean condition, ICriteriaWhen then, ICriteriaWhen otherwise) {
+            if (condition) {
+                then.criteria(this);
+            } else {
+                otherwise.criteria(this);
+            }
+            return this;
+        }
+
+        @Deprecated
+        public interface ICriteriaAdd {
+            /**
+             * This method was generated by MyBatis Generator.
+             * This method corresponds to the database table sign
+             *
+             * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+             */
+            Criteria add(Criteria add);
+        }
+    }
+
+    /**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table sign
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    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);
+        }
+    }
+
+    public interface ICriteriaWhen {
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table sign
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        void criteria(Criteria criteria);
+    }
+
+    public interface IExampleWhen {
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table sign
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        void example(com.book.dao.cpsshard.pojo.example.SignExample example);
+    }
+}

+ 1471 - 0
book-dao/src/main/java/com/book/dao/cpsshard/pojo/example/UserRecentlyReadExample.java

@@ -0,0 +1,1471 @@
+package com.book.dao.cpsshard.pojo.example;
+
+import com.book.dao.cpsshard.entity.UserRecentlyRead;
+import java.util.ArrayList;
+import java.util.List;
+
+public class UserRecentlyReadExample {
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table user_recently_read
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    protected String orderByClause;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table user_recently_read
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    protected boolean distinct;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table user_recently_read
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    protected List<Criteria> oredCriteria;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table user_recently_read
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    protected Integer offset;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table user_recently_read
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    protected Integer rows;
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table user_recently_read
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public UserRecentlyReadExample() {
+        oredCriteria = new ArrayList<Criteria>();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table user_recently_read
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public void setOrderByClause(String orderByClause) {
+        this.orderByClause = orderByClause;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table user_recently_read
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public String getOrderByClause() {
+        return orderByClause;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table user_recently_read
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public void setDistinct(boolean distinct) {
+        this.distinct = distinct;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table user_recently_read
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public boolean isDistinct() {
+        return distinct;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table user_recently_read
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public List<Criteria> getOredCriteria() {
+        return oredCriteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table user_recently_read
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public void or(Criteria criteria) {
+        oredCriteria.add(criteria);
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table user_recently_read
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    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 user_recently_read
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public UserRecentlyReadExample orderBy(String orderByClause) {
+        this.setOrderByClause(orderByClause);
+        return this;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table user_recently_read
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public UserRecentlyReadExample orderBy(String ... orderByClauses) {
+        StringBuffer sb = new StringBuffer();
+        for (int i = 0; i < orderByClauses.length; i++) {
+            sb.append(orderByClauses[i]);
+            if (i < orderByClauses.length - 1) {
+                sb.append(" , ");
+            }
+        }
+        this.setOrderByClause(sb.toString());
+        return this;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table user_recently_read
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    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 user_recently_read
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    protected Criteria createCriteriaInternal() {
+        Criteria criteria = new Criteria(this);
+        return criteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table user_recently_read
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public void clear() {
+        oredCriteria.clear();
+        orderByClause = null;
+        distinct = false;
+        rows = null;
+        offset = null;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table user_recently_read
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public void setOffset(Integer offset) {
+        this.offset = offset;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table user_recently_read
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public Integer getOffset() {
+        return this.offset;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table user_recently_read
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public void setRows(Integer rows) {
+        this.rows = rows;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table user_recently_read
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public Integer getRows() {
+        return this.rows;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table user_recently_read
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public UserRecentlyReadExample limit(Integer rows) {
+        this.rows = rows;
+        return this;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table user_recently_read
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public UserRecentlyReadExample limit(Integer offset, Integer rows) {
+        this.offset = offset;
+        this.rows = rows;
+        return this;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table user_recently_read
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public UserRecentlyReadExample page(Integer page, Integer pageSize) {
+        this.offset = page * pageSize;
+        this.rows = pageSize;
+        return this;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table user_recently_read
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public static Criteria newAndCreateCriteria() {
+        UserRecentlyReadExample example = new UserRecentlyReadExample();
+        return example.createCriteria();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table user_recently_read
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public UserRecentlyReadExample when(boolean condition, IExampleWhen then) {
+        if (condition) {
+            then.example(this);
+        }
+        return this;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table user_recently_read
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    public UserRecentlyReadExample when(boolean condition, IExampleWhen then, IExampleWhen otherwise) {
+        if (condition) {
+            then.example(this);
+        } else {
+            otherwise.example(this);
+        }
+        return this;
+    }
+
+    /**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table user_recently_read
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    protected abstract static class GeneratedCriteria {
+        protected List<Criterion> criteria;
+
+        protected GeneratedCriteria() {
+            super();
+            criteria = new ArrayList<Criterion>();
+        }
+
+        public boolean isValid() {
+            return criteria.size() > 0;
+        }
+
+        public List<Criterion> getAllCriteria() {
+            return criteria;
+        }
+
+        public List<Criterion> getCriteria() {
+            return criteria;
+        }
+
+        protected void addCriterion(String condition) {
+            if (condition == null) {
+                throw new RuntimeException("Value for condition cannot be null");
+            }
+            criteria.add(new Criterion(condition));
+        }
+
+        protected void addCriterion(String condition, Object value, String property) {
+            if (value == null) {
+                throw new RuntimeException("Value for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value));
+        }
+
+        protected void addCriterion(String condition, Object value1, Object value2, String property) {
+            if (value1 == null || value2 == null) {
+                throw new RuntimeException("Between values for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value1, value2));
+        }
+
+        public Criteria andIdIsNull() {
+            addCriterion("id is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdIsNotNull() {
+            addCriterion("id is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdEqualTo(Integer value) {
+            addCriterion("id =", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdEqualToColumn(UserRecentlyRead.Column column) {
+            addCriterion(new StringBuilder("id = ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotEqualTo(Integer value) {
+            addCriterion("id <>", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotEqualToColumn(UserRecentlyRead.Column column) {
+            addCriterion(new StringBuilder("id <> ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThan(Integer value) {
+            addCriterion("id >", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThanColumn(UserRecentlyRead.Column column) {
+            addCriterion(new StringBuilder("id > ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
+            addCriterion("id >=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThanOrEqualToColumn(UserRecentlyRead.Column column) {
+            addCriterion(new StringBuilder("id >= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThan(Integer value) {
+            addCriterion("id <", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThanColumn(UserRecentlyRead.Column column) {
+            addCriterion(new StringBuilder("id < ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThanOrEqualTo(Integer value) {
+            addCriterion("id <=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThanOrEqualToColumn(UserRecentlyRead.Column column) {
+            addCriterion(new StringBuilder("id <= ").append(column.getEscapedColumnName()).toString());
+            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 andUserIdIsNull() {
+            addCriterion("user_id is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUserIdIsNotNull() {
+            addCriterion("user_id is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUserIdEqualTo(Long value) {
+            addCriterion("user_id =", value, "userId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUserIdEqualToColumn(UserRecentlyRead.Column column) {
+            addCriterion(new StringBuilder("user_id = ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andUserIdNotEqualTo(Long value) {
+            addCriterion("user_id <>", value, "userId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUserIdNotEqualToColumn(UserRecentlyRead.Column column) {
+            addCriterion(new StringBuilder("user_id <> ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andUserIdGreaterThan(Long value) {
+            addCriterion("user_id >", value, "userId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUserIdGreaterThanColumn(UserRecentlyRead.Column column) {
+            addCriterion(new StringBuilder("user_id > ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andUserIdGreaterThanOrEqualTo(Long value) {
+            addCriterion("user_id >=", value, "userId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUserIdGreaterThanOrEqualToColumn(UserRecentlyRead.Column column) {
+            addCriterion(new StringBuilder("user_id >= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andUserIdLessThan(Long value) {
+            addCriterion("user_id <", value, "userId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUserIdLessThanColumn(UserRecentlyRead.Column column) {
+            addCriterion(new StringBuilder("user_id < ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andUserIdLessThanOrEqualTo(Long value) {
+            addCriterion("user_id <=", value, "userId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUserIdLessThanOrEqualToColumn(UserRecentlyRead.Column column) {
+            addCriterion(new StringBuilder("user_id <= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andUserIdIn(List<Long> values) {
+            addCriterion("user_id in", values, "userId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUserIdNotIn(List<Long> values) {
+            addCriterion("user_id not in", values, "userId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUserIdBetween(Long value1, Long value2) {
+            addCriterion("user_id between", value1, value2, "userId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUserIdNotBetween(Long value1, Long value2) {
+            addCriterion("user_id not between", value1, value2, "userId");
+            return (Criteria) this;
+        }
+
+        public Criteria andBookIdIsNull() {
+            addCriterion("book_id is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andBookIdIsNotNull() {
+            addCriterion("book_id is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andBookIdEqualTo(Long value) {
+            addCriterion("book_id =", value, "bookId");
+            return (Criteria) this;
+        }
+
+        public Criteria andBookIdEqualToColumn(UserRecentlyRead.Column column) {
+            addCriterion(new StringBuilder("book_id = ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andBookIdNotEqualTo(Long value) {
+            addCriterion("book_id <>", value, "bookId");
+            return (Criteria) this;
+        }
+
+        public Criteria andBookIdNotEqualToColumn(UserRecentlyRead.Column column) {
+            addCriterion(new StringBuilder("book_id <> ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andBookIdGreaterThan(Long value) {
+            addCriterion("book_id >", value, "bookId");
+            return (Criteria) this;
+        }
+
+        public Criteria andBookIdGreaterThanColumn(UserRecentlyRead.Column column) {
+            addCriterion(new StringBuilder("book_id > ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andBookIdGreaterThanOrEqualTo(Long value) {
+            addCriterion("book_id >=", value, "bookId");
+            return (Criteria) this;
+        }
+
+        public Criteria andBookIdGreaterThanOrEqualToColumn(UserRecentlyRead.Column column) {
+            addCriterion(new StringBuilder("book_id >= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andBookIdLessThan(Long value) {
+            addCriterion("book_id <", value, "bookId");
+            return (Criteria) this;
+        }
+
+        public Criteria andBookIdLessThanColumn(UserRecentlyRead.Column column) {
+            addCriterion(new StringBuilder("book_id < ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andBookIdLessThanOrEqualTo(Long value) {
+            addCriterion("book_id <=", value, "bookId");
+            return (Criteria) this;
+        }
+
+        public Criteria andBookIdLessThanOrEqualToColumn(UserRecentlyRead.Column column) {
+            addCriterion(new StringBuilder("book_id <= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andBookIdIn(List<Long> values) {
+            addCriterion("book_id in", values, "bookId");
+            return (Criteria) this;
+        }
+
+        public Criteria andBookIdNotIn(List<Long> values) {
+            addCriterion("book_id not in", values, "bookId");
+            return (Criteria) this;
+        }
+
+        public Criteria andBookIdBetween(Long value1, Long value2) {
+            addCriterion("book_id between", value1, value2, "bookId");
+            return (Criteria) this;
+        }
+
+        public Criteria andBookIdNotBetween(Long value1, Long value2) {
+            addCriterion("book_id not between", value1, value2, "bookId");
+            return (Criteria) this;
+        }
+
+        public Criteria andChapterIdIsNull() {
+            addCriterion("chapter_id is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andChapterIdIsNotNull() {
+            addCriterion("chapter_id is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andChapterIdEqualTo(Long value) {
+            addCriterion("chapter_id =", value, "chapterId");
+            return (Criteria) this;
+        }
+
+        public Criteria andChapterIdEqualToColumn(UserRecentlyRead.Column column) {
+            addCriterion(new StringBuilder("chapter_id = ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andChapterIdNotEqualTo(Long value) {
+            addCriterion("chapter_id <>", value, "chapterId");
+            return (Criteria) this;
+        }
+
+        public Criteria andChapterIdNotEqualToColumn(UserRecentlyRead.Column column) {
+            addCriterion(new StringBuilder("chapter_id <> ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andChapterIdGreaterThan(Long value) {
+            addCriterion("chapter_id >", value, "chapterId");
+            return (Criteria) this;
+        }
+
+        public Criteria andChapterIdGreaterThanColumn(UserRecentlyRead.Column column) {
+            addCriterion(new StringBuilder("chapter_id > ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andChapterIdGreaterThanOrEqualTo(Long value) {
+            addCriterion("chapter_id >=", value, "chapterId");
+            return (Criteria) this;
+        }
+
+        public Criteria andChapterIdGreaterThanOrEqualToColumn(UserRecentlyRead.Column column) {
+            addCriterion(new StringBuilder("chapter_id >= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andChapterIdLessThan(Long value) {
+            addCriterion("chapter_id <", value, "chapterId");
+            return (Criteria) this;
+        }
+
+        public Criteria andChapterIdLessThanColumn(UserRecentlyRead.Column column) {
+            addCriterion(new StringBuilder("chapter_id < ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andChapterIdLessThanOrEqualTo(Long value) {
+            addCriterion("chapter_id <=", value, "chapterId");
+            return (Criteria) this;
+        }
+
+        public Criteria andChapterIdLessThanOrEqualToColumn(UserRecentlyRead.Column column) {
+            addCriterion(new StringBuilder("chapter_id <= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andChapterIdIn(List<Long> values) {
+            addCriterion("chapter_id in", values, "chapterId");
+            return (Criteria) this;
+        }
+
+        public Criteria andChapterIdNotIn(List<Long> values) {
+            addCriterion("chapter_id not in", values, "chapterId");
+            return (Criteria) this;
+        }
+
+        public Criteria andChapterIdBetween(Long value1, Long value2) {
+            addCriterion("chapter_id between", value1, value2, "chapterId");
+            return (Criteria) this;
+        }
+
+        public Criteria andChapterIdNotBetween(Long value1, Long value2) {
+            addCriterion("chapter_id not between", value1, value2, "chapterId");
+            return (Criteria) this;
+        }
+
+        public Criteria andChapterNameIsNull() {
+            addCriterion("chapter_name is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andChapterNameIsNotNull() {
+            addCriterion("chapter_name is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andChapterNameEqualTo(String value) {
+            addCriterion("chapter_name =", value, "chapterName");
+            return (Criteria) this;
+        }
+
+        public Criteria andChapterNameEqualToColumn(UserRecentlyRead.Column column) {
+            addCriterion(new StringBuilder("chapter_name = ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andChapterNameNotEqualTo(String value) {
+            addCriterion("chapter_name <>", value, "chapterName");
+            return (Criteria) this;
+        }
+
+        public Criteria andChapterNameNotEqualToColumn(UserRecentlyRead.Column column) {
+            addCriterion(new StringBuilder("chapter_name <> ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andChapterNameGreaterThan(String value) {
+            addCriterion("chapter_name >", value, "chapterName");
+            return (Criteria) this;
+        }
+
+        public Criteria andChapterNameGreaterThanColumn(UserRecentlyRead.Column column) {
+            addCriterion(new StringBuilder("chapter_name > ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andChapterNameGreaterThanOrEqualTo(String value) {
+            addCriterion("chapter_name >=", value, "chapterName");
+            return (Criteria) this;
+        }
+
+        public Criteria andChapterNameGreaterThanOrEqualToColumn(UserRecentlyRead.Column column) {
+            addCriterion(new StringBuilder("chapter_name >= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andChapterNameLessThan(String value) {
+            addCriterion("chapter_name <", value, "chapterName");
+            return (Criteria) this;
+        }
+
+        public Criteria andChapterNameLessThanColumn(UserRecentlyRead.Column column) {
+            addCriterion(new StringBuilder("chapter_name < ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andChapterNameLessThanOrEqualTo(String value) {
+            addCriterion("chapter_name <=", value, "chapterName");
+            return (Criteria) this;
+        }
+
+        public Criteria andChapterNameLessThanOrEqualToColumn(UserRecentlyRead.Column column) {
+            addCriterion(new StringBuilder("chapter_name <= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andChapterNameLike(String value) {
+            addCriterion("chapter_name like", value, "chapterName");
+            return (Criteria) this;
+        }
+
+        public Criteria andChapterNameNotLike(String value) {
+            addCriterion("chapter_name not like", value, "chapterName");
+            return (Criteria) this;
+        }
+
+        public Criteria andChapterNameIn(List<String> values) {
+            addCriterion("chapter_name in", values, "chapterName");
+            return (Criteria) this;
+        }
+
+        public Criteria andChapterNameNotIn(List<String> values) {
+            addCriterion("chapter_name not in", values, "chapterName");
+            return (Criteria) this;
+        }
+
+        public Criteria andChapterNameBetween(String value1, String value2) {
+            addCriterion("chapter_name between", value1, value2, "chapterName");
+            return (Criteria) this;
+        }
+
+        public Criteria andChapterNameNotBetween(String value1, String value2) {
+            addCriterion("chapter_name not between", value1, value2, "chapterName");
+            return (Criteria) this;
+        }
+
+        public Criteria andFlagIsNull() {
+            addCriterion("flag is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andFlagIsNotNull() {
+            addCriterion("flag is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andFlagEqualTo(Byte value) {
+            addCriterion("flag =", value, "flag");
+            return (Criteria) this;
+        }
+
+        public Criteria andFlagEqualToColumn(UserRecentlyRead.Column column) {
+            addCriterion(new StringBuilder("flag = ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andFlagNotEqualTo(Byte value) {
+            addCriterion("flag <>", value, "flag");
+            return (Criteria) this;
+        }
+
+        public Criteria andFlagNotEqualToColumn(UserRecentlyRead.Column column) {
+            addCriterion(new StringBuilder("flag <> ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andFlagGreaterThan(Byte value) {
+            addCriterion("flag >", value, "flag");
+            return (Criteria) this;
+        }
+
+        public Criteria andFlagGreaterThanColumn(UserRecentlyRead.Column column) {
+            addCriterion(new StringBuilder("flag > ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andFlagGreaterThanOrEqualTo(Byte value) {
+            addCriterion("flag >=", value, "flag");
+            return (Criteria) this;
+        }
+
+        public Criteria andFlagGreaterThanOrEqualToColumn(UserRecentlyRead.Column column) {
+            addCriterion(new StringBuilder("flag >= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andFlagLessThan(Byte value) {
+            addCriterion("flag <", value, "flag");
+            return (Criteria) this;
+        }
+
+        public Criteria andFlagLessThanColumn(UserRecentlyRead.Column column) {
+            addCriterion(new StringBuilder("flag < ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andFlagLessThanOrEqualTo(Byte value) {
+            addCriterion("flag <=", value, "flag");
+            return (Criteria) this;
+        }
+
+        public Criteria andFlagLessThanOrEqualToColumn(UserRecentlyRead.Column column) {
+            addCriterion(new StringBuilder("flag <= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andFlagIn(List<Byte> values) {
+            addCriterion("flag in", values, "flag");
+            return (Criteria) this;
+        }
+
+        public Criteria andFlagNotIn(List<Byte> values) {
+            addCriterion("flag not in", values, "flag");
+            return (Criteria) this;
+        }
+
+        public Criteria andFlagBetween(Byte value1, Byte value2) {
+            addCriterion("flag between", value1, value2, "flag");
+            return (Criteria) this;
+        }
+
+        public Criteria andFlagNotBetween(Byte value1, Byte value2) {
+            addCriterion("flag not between", value1, value2, "flag");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeIsNull() {
+            addCriterion("createtime is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeIsNotNull() {
+            addCriterion("createtime is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeEqualTo(Integer value) {
+            addCriterion("createtime =", value, "createtime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeEqualToColumn(UserRecentlyRead.Column column) {
+            addCriterion(new StringBuilder("createtime = ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeNotEqualTo(Integer value) {
+            addCriterion("createtime <>", value, "createtime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeNotEqualToColumn(UserRecentlyRead.Column column) {
+            addCriterion(new StringBuilder("createtime <> ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeGreaterThan(Integer value) {
+            addCriterion("createtime >", value, "createtime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeGreaterThanColumn(UserRecentlyRead.Column column) {
+            addCriterion(new StringBuilder("createtime > ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeGreaterThanOrEqualTo(Integer value) {
+            addCriterion("createtime >=", value, "createtime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeGreaterThanOrEqualToColumn(UserRecentlyRead.Column column) {
+            addCriterion(new StringBuilder("createtime >= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeLessThan(Integer value) {
+            addCriterion("createtime <", value, "createtime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeLessThanColumn(UserRecentlyRead.Column column) {
+            addCriterion(new StringBuilder("createtime < ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeLessThanOrEqualTo(Integer value) {
+            addCriterion("createtime <=", value, "createtime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeLessThanOrEqualToColumn(UserRecentlyRead.Column column) {
+            addCriterion(new StringBuilder("createtime <= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeIn(List<Integer> values) {
+            addCriterion("createtime in", values, "createtime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeNotIn(List<Integer> values) {
+            addCriterion("createtime not in", values, "createtime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeBetween(Integer value1, Integer value2) {
+            addCriterion("createtime between", value1, value2, "createtime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeNotBetween(Integer value1, Integer value2) {
+            addCriterion("createtime not between", value1, value2, "createtime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdatetimeIsNull() {
+            addCriterion("updatetime is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdatetimeIsNotNull() {
+            addCriterion("updatetime is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdatetimeEqualTo(Integer value) {
+            addCriterion("updatetime =", value, "updatetime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdatetimeEqualToColumn(UserRecentlyRead.Column column) {
+            addCriterion(new StringBuilder("updatetime = ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdatetimeNotEqualTo(Integer value) {
+            addCriterion("updatetime <>", value, "updatetime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdatetimeNotEqualToColumn(UserRecentlyRead.Column column) {
+            addCriterion(new StringBuilder("updatetime <> ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdatetimeGreaterThan(Integer value) {
+            addCriterion("updatetime >", value, "updatetime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdatetimeGreaterThanColumn(UserRecentlyRead.Column column) {
+            addCriterion(new StringBuilder("updatetime > ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdatetimeGreaterThanOrEqualTo(Integer value) {
+            addCriterion("updatetime >=", value, "updatetime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdatetimeGreaterThanOrEqualToColumn(UserRecentlyRead.Column column) {
+            addCriterion(new StringBuilder("updatetime >= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdatetimeLessThan(Integer value) {
+            addCriterion("updatetime <", value, "updatetime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdatetimeLessThanColumn(UserRecentlyRead.Column column) {
+            addCriterion(new StringBuilder("updatetime < ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdatetimeLessThanOrEqualTo(Integer value) {
+            addCriterion("updatetime <=", value, "updatetime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdatetimeLessThanOrEqualToColumn(UserRecentlyRead.Column column) {
+            addCriterion(new StringBuilder("updatetime <= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdatetimeIn(List<Integer> values) {
+            addCriterion("updatetime in", values, "updatetime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdatetimeNotIn(List<Integer> values) {
+            addCriterion("updatetime not in", values, "updatetime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdatetimeBetween(Integer value1, Integer value2) {
+            addCriterion("updatetime between", value1, value2, "updatetime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdatetimeNotBetween(Integer value1, Integer value2) {
+            addCriterion("updatetime not between", value1, value2, "updatetime");
+            return (Criteria) this;
+        }
+
+        public Criteria andBookShelfAddIsNull() {
+            addCriterion("book_shelf_add is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andBookShelfAddIsNotNull() {
+            addCriterion("book_shelf_add is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andBookShelfAddEqualTo(Byte value) {
+            addCriterion("book_shelf_add =", value, "bookShelfAdd");
+            return (Criteria) this;
+        }
+
+        public Criteria andBookShelfAddEqualToColumn(UserRecentlyRead.Column column) {
+            addCriterion(new StringBuilder("book_shelf_add = ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andBookShelfAddNotEqualTo(Byte value) {
+            addCriterion("book_shelf_add <>", value, "bookShelfAdd");
+            return (Criteria) this;
+        }
+
+        public Criteria andBookShelfAddNotEqualToColumn(UserRecentlyRead.Column column) {
+            addCriterion(new StringBuilder("book_shelf_add <> ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andBookShelfAddGreaterThan(Byte value) {
+            addCriterion("book_shelf_add >", value, "bookShelfAdd");
+            return (Criteria) this;
+        }
+
+        public Criteria andBookShelfAddGreaterThanColumn(UserRecentlyRead.Column column) {
+            addCriterion(new StringBuilder("book_shelf_add > ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andBookShelfAddGreaterThanOrEqualTo(Byte value) {
+            addCriterion("book_shelf_add >=", value, "bookShelfAdd");
+            return (Criteria) this;
+        }
+
+        public Criteria andBookShelfAddGreaterThanOrEqualToColumn(UserRecentlyRead.Column column) {
+            addCriterion(new StringBuilder("book_shelf_add >= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andBookShelfAddLessThan(Byte value) {
+            addCriterion("book_shelf_add <", value, "bookShelfAdd");
+            return (Criteria) this;
+        }
+
+        public Criteria andBookShelfAddLessThanColumn(UserRecentlyRead.Column column) {
+            addCriterion(new StringBuilder("book_shelf_add < ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andBookShelfAddLessThanOrEqualTo(Byte value) {
+            addCriterion("book_shelf_add <=", value, "bookShelfAdd");
+            return (Criteria) this;
+        }
+
+        public Criteria andBookShelfAddLessThanOrEqualToColumn(UserRecentlyRead.Column column) {
+            addCriterion(new StringBuilder("book_shelf_add <= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andBookShelfAddIn(List<Byte> values) {
+            addCriterion("book_shelf_add in", values, "bookShelfAdd");
+            return (Criteria) this;
+        }
+
+        public Criteria andBookShelfAddNotIn(List<Byte> values) {
+            addCriterion("book_shelf_add not in", values, "bookShelfAdd");
+            return (Criteria) this;
+        }
+
+        public Criteria andBookShelfAddBetween(Byte value1, Byte value2) {
+            addCriterion("book_shelf_add between", value1, value2, "bookShelfAdd");
+            return (Criteria) this;
+        }
+
+        public Criteria andBookShelfAddNotBetween(Byte value1, Byte value2) {
+            addCriterion("book_shelf_add not between", value1, value2, "bookShelfAdd");
+            return (Criteria) this;
+        }
+
+        public Criteria andBookShelfFlagIsNull() {
+            addCriterion("book_shelf_flag is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andBookShelfFlagIsNotNull() {
+            addCriterion("book_shelf_flag is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andBookShelfFlagEqualTo(Byte value) {
+            addCriterion("book_shelf_flag =", value, "bookShelfFlag");
+            return (Criteria) this;
+        }
+
+        public Criteria andBookShelfFlagEqualToColumn(UserRecentlyRead.Column column) {
+            addCriterion(new StringBuilder("book_shelf_flag = ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andBookShelfFlagNotEqualTo(Byte value) {
+            addCriterion("book_shelf_flag <>", value, "bookShelfFlag");
+            return (Criteria) this;
+        }
+
+        public Criteria andBookShelfFlagNotEqualToColumn(UserRecentlyRead.Column column) {
+            addCriterion(new StringBuilder("book_shelf_flag <> ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andBookShelfFlagGreaterThan(Byte value) {
+            addCriterion("book_shelf_flag >", value, "bookShelfFlag");
+            return (Criteria) this;
+        }
+
+        public Criteria andBookShelfFlagGreaterThanColumn(UserRecentlyRead.Column column) {
+            addCriterion(new StringBuilder("book_shelf_flag > ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andBookShelfFlagGreaterThanOrEqualTo(Byte value) {
+            addCriterion("book_shelf_flag >=", value, "bookShelfFlag");
+            return (Criteria) this;
+        }
+
+        public Criteria andBookShelfFlagGreaterThanOrEqualToColumn(UserRecentlyRead.Column column) {
+            addCriterion(new StringBuilder("book_shelf_flag >= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andBookShelfFlagLessThan(Byte value) {
+            addCriterion("book_shelf_flag <", value, "bookShelfFlag");
+            return (Criteria) this;
+        }
+
+        public Criteria andBookShelfFlagLessThanColumn(UserRecentlyRead.Column column) {
+            addCriterion(new StringBuilder("book_shelf_flag < ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andBookShelfFlagLessThanOrEqualTo(Byte value) {
+            addCriterion("book_shelf_flag <=", value, "bookShelfFlag");
+            return (Criteria) this;
+        }
+
+        public Criteria andBookShelfFlagLessThanOrEqualToColumn(UserRecentlyRead.Column column) {
+            addCriterion(new StringBuilder("book_shelf_flag <= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andBookShelfFlagIn(List<Byte> values) {
+            addCriterion("book_shelf_flag in", values, "bookShelfFlag");
+            return (Criteria) this;
+        }
+
+        public Criteria andBookShelfFlagNotIn(List<Byte> values) {
+            addCriterion("book_shelf_flag not in", values, "bookShelfFlag");
+            return (Criteria) this;
+        }
+
+        public Criteria andBookShelfFlagBetween(Byte value1, Byte value2) {
+            addCriterion("book_shelf_flag between", value1, value2, "bookShelfFlag");
+            return (Criteria) this;
+        }
+
+        public Criteria andBookShelfFlagNotBetween(Byte value1, Byte value2) {
+            addCriterion("book_shelf_flag not between", value1, value2, "bookShelfFlag");
+            return (Criteria) this;
+        }
+    }
+
+    /**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table user_recently_read
+     *
+     * @mbg.generated do_not_delete_during_merge Sun Aug 22 13:51:10 CST 2021
+     */
+    public static class Criteria extends GeneratedCriteria {
+        /**
+         * This field was generated by MyBatis Generator.
+         * This field corresponds to the database table user_recently_read
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        private UserRecentlyReadExample example;
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table user_recently_read
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        protected Criteria(UserRecentlyReadExample example) {
+            super();
+            this.example = example;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table user_recently_read
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public UserRecentlyReadExample example() {
+            return this.example;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table user_recently_read
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        @Deprecated
+        public Criteria andIf(boolean ifAdd, ICriteriaAdd add) {
+            if (ifAdd) {
+                add.add(this);
+            }
+            return this;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table user_recently_read
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public Criteria when(boolean condition, ICriteriaWhen then) {
+            if (condition) {
+                then.criteria(this);
+            }
+            return this;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table user_recently_read
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        public Criteria when(boolean condition, ICriteriaWhen then, ICriteriaWhen otherwise) {
+            if (condition) {
+                then.criteria(this);
+            } else {
+                otherwise.criteria(this);
+            }
+            return this;
+        }
+
+        @Deprecated
+        public interface ICriteriaAdd {
+            /**
+             * This method was generated by MyBatis Generator.
+             * This method corresponds to the database table user_recently_read
+             *
+             * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+             */
+            Criteria add(Criteria add);
+        }
+    }
+
+    /**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table user_recently_read
+     *
+     * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+     */
+    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);
+        }
+    }
+
+    public interface ICriteriaWhen {
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table user_recently_read
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        void criteria(Criteria criteria);
+    }
+
+    public interface IExampleWhen {
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table user_recently_read
+         *
+         * @mbg.generated Sun Aug 22 13:51:10 CST 2021
+         */
+        void example(com.book.dao.cpsshard.pojo.example.UserRecentlyReadExample example);
+    }
+}

+ 38 - 38
book-dao/src/main/java/com/book/dao/polardb/entity/AdUserGroupExtend.java

@@ -12,7 +12,7 @@ public class AdUserGroupExtend implements Serializable {
      * This field was generated by MyBatis Generator.
      * This field corresponds to the database column ad_user_group_extend.id
      *
-     * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+     * @mbg.generated Sun Aug 22 13:48:46 CST 2021
      */
     private Integer id;
 
@@ -21,7 +21,7 @@ public class AdUserGroupExtend implements Serializable {
      * This field was generated by MyBatis Generator.
      * This field corresponds to the database column ad_user_group_extend.user_group_id
      *
-     * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+     * @mbg.generated Sun Aug 22 13:48:46 CST 2021
      */
     private Integer userGroupId;
 
@@ -30,7 +30,7 @@ public class AdUserGroupExtend implements Serializable {
      * This field was generated by MyBatis Generator.
      * This field corresponds to the database column ad_user_group_extend.create_by
      *
-     * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+     * @mbg.generated Sun Aug 22 13:48:46 CST 2021
      */
     private Integer createBy;
 
@@ -39,7 +39,7 @@ public class AdUserGroupExtend implements Serializable {
      * This field was generated by MyBatis Generator.
      * This field corresponds to the database column ad_user_group_extend.edit_by
      *
-     * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+     * @mbg.generated Sun Aug 22 13:48:46 CST 2021
      */
     private Integer editBy;
 
@@ -48,7 +48,7 @@ public class AdUserGroupExtend implements Serializable {
      * This field was generated by MyBatis Generator.
      * This field corresponds to the database column ad_user_group_extend.createtime
      *
-     * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+     * @mbg.generated Sun Aug 22 13:48:46 CST 2021
      */
     private Integer createtime;
 
@@ -57,7 +57,7 @@ public class AdUserGroupExtend implements Serializable {
      * This field was generated by MyBatis Generator.
      * This field corresponds to the database column ad_user_group_extend.updatetime
      *
-     * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+     * @mbg.generated Sun Aug 22 13:48:46 CST 2021
      */
     private Integer updatetime;
 
@@ -66,7 +66,7 @@ public class AdUserGroupExtend implements Serializable {
      * This field was generated by MyBatis Generator.
      * This field corresponds to the database column ad_user_group_extend.user_ids
      *
-     * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+     * @mbg.generated Sun Aug 22 13:48:46 CST 2021
      */
     private String userIds;
 
@@ -74,7 +74,7 @@ public class AdUserGroupExtend implements Serializable {
      * This field was generated by MyBatis Generator.
      * This field corresponds to the database table ad_user_group_extend
      *
-     * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+     * @mbg.generated Sun Aug 22 13:48:46 CST 2021
      */
     private static final long serialVersionUID = 1L;
 
@@ -82,7 +82,7 @@ public class AdUserGroupExtend implements Serializable {
      * This method was generated by MyBatis Generator.
      * This method corresponds to the database table ad_user_group_extend
      *
-     * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+     * @mbg.generated Sun Aug 22 13:48:46 CST 2021
      */
     public static AdUserGroupExtend.Builder builder() {
         return new AdUserGroupExtend.Builder();
@@ -92,14 +92,14 @@ public class AdUserGroupExtend implements Serializable {
      * This class was generated by MyBatis Generator.
      * This class corresponds to the database table ad_user_group_extend
      *
-     * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+     * @mbg.generated Sun Aug 22 13:48:46 CST 2021
      */
     public static class Builder {
         /**
          * This field was generated by MyBatis Generator.
          * This field corresponds to the database table ad_user_group_extend
          *
-         * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+         * @mbg.generated Sun Aug 22 13:48:46 CST 2021
          */
         private AdUserGroupExtend obj;
 
@@ -107,7 +107,7 @@ public class AdUserGroupExtend implements Serializable {
          * This method was generated by MyBatis Generator.
          * This method corresponds to the database table ad_user_group_extend
          *
-         * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+         * @mbg.generated Sun Aug 22 13:48:46 CST 2021
          */
         public Builder() {
             this.obj = new AdUserGroupExtend();
@@ -119,7 +119,7 @@ public class AdUserGroupExtend implements Serializable {
          *
          * @param id the value for ad_user_group_extend.id
          *
-         * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+         * @mbg.generated Sun Aug 22 13:48:46 CST 2021
          */
         public Builder id(Integer id) {
             obj.setId(id);
@@ -132,7 +132,7 @@ public class AdUserGroupExtend implements Serializable {
          *
          * @param userGroupId the value for ad_user_group_extend.user_group_id
          *
-         * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+         * @mbg.generated Sun Aug 22 13:48:46 CST 2021
          */
         public Builder userGroupId(Integer userGroupId) {
             obj.setUserGroupId(userGroupId);
@@ -145,7 +145,7 @@ public class AdUserGroupExtend implements Serializable {
          *
          * @param createBy the value for ad_user_group_extend.create_by
          *
-         * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+         * @mbg.generated Sun Aug 22 13:48:46 CST 2021
          */
         public Builder createBy(Integer createBy) {
             obj.setCreateBy(createBy);
@@ -158,7 +158,7 @@ public class AdUserGroupExtend implements Serializable {
          *
          * @param editBy the value for ad_user_group_extend.edit_by
          *
-         * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+         * @mbg.generated Sun Aug 22 13:48:46 CST 2021
          */
         public Builder editBy(Integer editBy) {
             obj.setEditBy(editBy);
@@ -171,7 +171,7 @@ public class AdUserGroupExtend implements Serializable {
          *
          * @param createtime the value for ad_user_group_extend.createtime
          *
-         * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+         * @mbg.generated Sun Aug 22 13:48:46 CST 2021
          */
         public Builder createtime(Integer createtime) {
             obj.setCreatetime(createtime);
@@ -184,7 +184,7 @@ public class AdUserGroupExtend implements Serializable {
          *
          * @param updatetime the value for ad_user_group_extend.updatetime
          *
-         * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+         * @mbg.generated Sun Aug 22 13:48:46 CST 2021
          */
         public Builder updatetime(Integer updatetime) {
             obj.setUpdatetime(updatetime);
@@ -197,7 +197,7 @@ public class AdUserGroupExtend implements Serializable {
          *
          * @param userIds the value for ad_user_group_extend.user_ids
          *
-         * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+         * @mbg.generated Sun Aug 22 13:48:46 CST 2021
          */
         public Builder userIds(String userIds) {
             obj.setUserIds(userIds);
@@ -208,7 +208,7 @@ public class AdUserGroupExtend implements Serializable {
          * This method was generated by MyBatis Generator.
          * This method corresponds to the database table ad_user_group_extend
          *
-         * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+         * @mbg.generated Sun Aug 22 13:48:46 CST 2021
          */
         public AdUserGroupExtend build() {
             return this.obj;
@@ -219,7 +219,7 @@ public class AdUserGroupExtend implements Serializable {
      * This enum was generated by MyBatis Generator.
      * This enum corresponds to the database table ad_user_group_extend
      *
-     * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+     * @mbg.generated Sun Aug 22 13:48:46 CST 2021
      */
     public enum Column {
         id("id", "id", "INTEGER", false),
@@ -234,7 +234,7 @@ public class AdUserGroupExtend implements Serializable {
          * This field was generated by MyBatis Generator.
          * This field corresponds to the database table ad_user_group_extend
          *
-         * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+         * @mbg.generated Sun Aug 22 13:48:46 CST 2021
          */
         private static final String BEGINNING_DELIMITER = "\"";
 
@@ -242,7 +242,7 @@ public class AdUserGroupExtend implements Serializable {
          * This field was generated by MyBatis Generator.
          * This field corresponds to the database table ad_user_group_extend
          *
-         * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+         * @mbg.generated Sun Aug 22 13:48:46 CST 2021
          */
         private static final String ENDING_DELIMITER = "\"";
 
@@ -250,7 +250,7 @@ public class AdUserGroupExtend implements Serializable {
          * This field was generated by MyBatis Generator.
          * This field corresponds to the database table ad_user_group_extend
          *
-         * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+         * @mbg.generated Sun Aug 22 13:48:46 CST 2021
          */
         private final String column;
 
@@ -258,7 +258,7 @@ public class AdUserGroupExtend implements Serializable {
          * This field was generated by MyBatis Generator.
          * This field corresponds to the database table ad_user_group_extend
          *
-         * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+         * @mbg.generated Sun Aug 22 13:48:46 CST 2021
          */
         private final boolean isColumnNameDelimited;
 
@@ -266,7 +266,7 @@ public class AdUserGroupExtend implements Serializable {
          * This field was generated by MyBatis Generator.
          * This field corresponds to the database table ad_user_group_extend
          *
-         * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+         * @mbg.generated Sun Aug 22 13:48:46 CST 2021
          */
         private final String javaProperty;
 
@@ -274,7 +274,7 @@ public class AdUserGroupExtend implements Serializable {
          * This field was generated by MyBatis Generator.
          * This field corresponds to the database table ad_user_group_extend
          *
-         * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+         * @mbg.generated Sun Aug 22 13:48:46 CST 2021
          */
         private final String jdbcType;
 
@@ -282,7 +282,7 @@ public class AdUserGroupExtend implements Serializable {
          * This method was generated by MyBatis Generator.
          * This method corresponds to the database table ad_user_group_extend
          *
-         * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+         * @mbg.generated Sun Aug 22 13:48:46 CST 2021
          */
         public String value() {
             return this.column;
@@ -292,7 +292,7 @@ public class AdUserGroupExtend implements Serializable {
          * This method was generated by MyBatis Generator.
          * This method corresponds to the database table ad_user_group_extend
          *
-         * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+         * @mbg.generated Sun Aug 22 13:48:46 CST 2021
          */
         public String getValue() {
             return this.column;
@@ -302,7 +302,7 @@ public class AdUserGroupExtend implements Serializable {
          * This method was generated by MyBatis Generator.
          * This method corresponds to the database table ad_user_group_extend
          *
-         * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+         * @mbg.generated Sun Aug 22 13:48:46 CST 2021
          */
         public String getJavaProperty() {
             return this.javaProperty;
@@ -312,7 +312,7 @@ public class AdUserGroupExtend implements Serializable {
          * This method was generated by MyBatis Generator.
          * This method corresponds to the database table ad_user_group_extend
          *
-         * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+         * @mbg.generated Sun Aug 22 13:48:46 CST 2021
          */
         public String getJdbcType() {
             return this.jdbcType;
@@ -322,7 +322,7 @@ public class AdUserGroupExtend implements Serializable {
          * This method was generated by MyBatis Generator.
          * This method corresponds to the database table ad_user_group_extend
          *
-         * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+         * @mbg.generated Sun Aug 22 13:48:46 CST 2021
          */
         Column(String column, String javaProperty, String jdbcType, boolean isColumnNameDelimited) {
             this.column = column;
@@ -335,7 +335,7 @@ public class AdUserGroupExtend implements Serializable {
          * This method was generated by MyBatis Generator.
          * This method corresponds to the database table ad_user_group_extend
          *
-         * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+         * @mbg.generated Sun Aug 22 13:48:46 CST 2021
          */
         public String desc() {
             return this.getEscapedColumnName() + " DESC";
@@ -345,7 +345,7 @@ public class AdUserGroupExtend implements Serializable {
          * This method was generated by MyBatis Generator.
          * This method corresponds to the database table ad_user_group_extend
          *
-         * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+         * @mbg.generated Sun Aug 22 13:48:46 CST 2021
          */
         public String asc() {
             return this.getEscapedColumnName() + " ASC";
@@ -355,7 +355,7 @@ public class AdUserGroupExtend implements Serializable {
          * This method was generated by MyBatis Generator.
          * This method corresponds to the database table ad_user_group_extend
          *
-         * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+         * @mbg.generated Sun Aug 22 13:48:46 CST 2021
          */
         public static Column[] excludes(Column ... excludes) {
             ArrayList<Column> columns = new ArrayList<>(Arrays.asList(Column.values()));
@@ -369,7 +369,7 @@ public class AdUserGroupExtend implements Serializable {
          * This method was generated by MyBatis Generator.
          * This method corresponds to the database table ad_user_group_extend
          *
-         * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+         * @mbg.generated Sun Aug 22 13:48:46 CST 2021
          */
         public static Column[] all() {
             return Column.values();
@@ -379,7 +379,7 @@ public class AdUserGroupExtend implements Serializable {
          * This method was generated by MyBatis Generator.
          * This method corresponds to the database table ad_user_group_extend
          *
-         * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+         * @mbg.generated Sun Aug 22 13:48:46 CST 2021
          */
         public String getEscapedColumnName() {
             if (this.isColumnNameDelimited) {
@@ -393,7 +393,7 @@ public class AdUserGroupExtend implements Serializable {
          * This method was generated by MyBatis Generator.
          * This method corresponds to the database table ad_user_group_extend
          *
-         * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+         * @mbg.generated Sun Aug 22 13:48:46 CST 2021
          */
         public String getAliasedEscapedColumnName() {
             return this.getEscapedColumnName();

+ 24 - 24
book-dao/src/main/java/com/book/dao/polardb/mapper/AdUserGroupExtendMapper.java

@@ -14,7 +14,7 @@ public interface AdUserGroupExtendMapper {
      * This method was generated by MyBatis Generator.
      * This method corresponds to the database table ad_user_group_extend
      *
-     * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+     * @mbg.generated Sun Aug 22 13:48:46 CST 2021
      */
     long countByExample(AdUserGroupExtendExample example);
 
@@ -22,7 +22,7 @@ public interface AdUserGroupExtendMapper {
      * This method was generated by MyBatis Generator.
      * This method corresponds to the database table ad_user_group_extend
      *
-     * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+     * @mbg.generated Sun Aug 22 13:48:46 CST 2021
      */
     int deleteByExample(AdUserGroupExtendExample example);
 
@@ -30,7 +30,7 @@ public interface AdUserGroupExtendMapper {
      * This method was generated by MyBatis Generator.
      * This method corresponds to the database table ad_user_group_extend
      *
-     * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+     * @mbg.generated Sun Aug 22 13:48:46 CST 2021
      */
     int deleteByPrimaryKey(Integer id);
 
@@ -38,7 +38,7 @@ public interface AdUserGroupExtendMapper {
      * This method was generated by MyBatis Generator.
      * This method corresponds to the database table ad_user_group_extend
      *
-     * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+     * @mbg.generated Sun Aug 22 13:48:46 CST 2021
      */
     int insert(AdUserGroupExtend record);
 
@@ -46,7 +46,7 @@ public interface AdUserGroupExtendMapper {
      * This method was generated by MyBatis Generator.
      * This method corresponds to the database table ad_user_group_extend
      *
-     * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+     * @mbg.generated Sun Aug 22 13:48:46 CST 2021
      */
     int insertSelective(@Param("record") AdUserGroupExtend record, @Param("selective") AdUserGroupExtend.Column ... selective);
 
@@ -54,7 +54,7 @@ public interface AdUserGroupExtendMapper {
      * This method was generated by MyBatis Generator.
      * This method corresponds to the database table ad_user_group_extend
      *
-     * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+     * @mbg.generated Sun Aug 22 13:48:46 CST 2021
      */
     AdUserGroupExtend selectOneByExample(AdUserGroupExtendExample example);
 
@@ -62,7 +62,7 @@ public interface AdUserGroupExtendMapper {
      * This method was generated by MyBatis Generator.
      * This method corresponds to the database table ad_user_group_extend
      *
-     * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+     * @mbg.generated Sun Aug 22 13:48:46 CST 2021
      */
     AdUserGroupExtend selectOneByExampleSelective(@Param("example") AdUserGroupExtendExample example, @Param("selective") AdUserGroupExtend.Column ... selective);
 
@@ -70,7 +70,7 @@ public interface AdUserGroupExtendMapper {
      * This method was generated by MyBatis Generator.
      * This method corresponds to the database table ad_user_group_extend
      *
-     * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+     * @mbg.generated Sun Aug 22 13:48:46 CST 2021
      */
     AdUserGroupExtend selectOneByExampleWithBLOBs(AdUserGroupExtendExample example);
 
@@ -78,7 +78,7 @@ public interface AdUserGroupExtendMapper {
      * This method was generated by MyBatis Generator.
      * This method corresponds to the database table ad_user_group_extend
      *
-     * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+     * @mbg.generated Sun Aug 22 13:48:46 CST 2021
      */
     List<AdUserGroupExtend> selectByExampleSelective(@Param("example") AdUserGroupExtendExample example, @Param("selective") AdUserGroupExtend.Column ... selective);
 
@@ -86,7 +86,7 @@ public interface AdUserGroupExtendMapper {
      * This method was generated by MyBatis Generator.
      * This method corresponds to the database table ad_user_group_extend
      *
-     * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+     * @mbg.generated Sun Aug 22 13:48:46 CST 2021
      */
     List<AdUserGroupExtend> selectByExampleWithBLOBs(AdUserGroupExtendExample example);
 
@@ -94,7 +94,7 @@ public interface AdUserGroupExtendMapper {
      * This method was generated by MyBatis Generator.
      * This method corresponds to the database table ad_user_group_extend
      *
-     * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+     * @mbg.generated Sun Aug 22 13:48:46 CST 2021
      */
     List<AdUserGroupExtend> selectByExample(AdUserGroupExtendExample example);
 
@@ -102,7 +102,7 @@ public interface AdUserGroupExtendMapper {
      * This method was generated by MyBatis Generator.
      * This method corresponds to the database table ad_user_group_extend
      *
-     * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+     * @mbg.generated Sun Aug 22 13:48:46 CST 2021
      */
     AdUserGroupExtend selectByPrimaryKeySelective(@Param("id") Integer id, @Param("selective") AdUserGroupExtend.Column ... selective);
 
@@ -110,7 +110,7 @@ public interface AdUserGroupExtendMapper {
      * This method was generated by MyBatis Generator.
      * This method corresponds to the database table ad_user_group_extend
      *
-     * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+     * @mbg.generated Sun Aug 22 13:48:46 CST 2021
      */
     AdUserGroupExtend selectByPrimaryKey(Integer id);
 
@@ -118,7 +118,7 @@ public interface AdUserGroupExtendMapper {
      * This method was generated by MyBatis Generator.
      * This method corresponds to the database table ad_user_group_extend
      *
-     * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+     * @mbg.generated Sun Aug 22 13:48:46 CST 2021
      */
     int updateByExampleSelective(@Param("record") AdUserGroupExtend record, @Param("example") AdUserGroupExtendExample example, @Param("selective") AdUserGroupExtend.Column ... selective);
 
@@ -126,7 +126,7 @@ public interface AdUserGroupExtendMapper {
      * This method was generated by MyBatis Generator.
      * This method corresponds to the database table ad_user_group_extend
      *
-     * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+     * @mbg.generated Sun Aug 22 13:48:46 CST 2021
      */
     int updateByExampleWithBLOBs(@Param("record") AdUserGroupExtend record, @Param("example") AdUserGroupExtendExample example);
 
@@ -134,7 +134,7 @@ public interface AdUserGroupExtendMapper {
      * This method was generated by MyBatis Generator.
      * This method corresponds to the database table ad_user_group_extend
      *
-     * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+     * @mbg.generated Sun Aug 22 13:48:46 CST 2021
      */
     int updateByExample(@Param("record") AdUserGroupExtend record, @Param("example") AdUserGroupExtendExample example);
 
@@ -142,7 +142,7 @@ public interface AdUserGroupExtendMapper {
      * This method was generated by MyBatis Generator.
      * This method corresponds to the database table ad_user_group_extend
      *
-     * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+     * @mbg.generated Sun Aug 22 13:48:46 CST 2021
      */
     int updateByPrimaryKeySelective(@Param("record") AdUserGroupExtend record, @Param("selective") AdUserGroupExtend.Column ... selective);
 
@@ -150,7 +150,7 @@ public interface AdUserGroupExtendMapper {
      * This method was generated by MyBatis Generator.
      * This method corresponds to the database table ad_user_group_extend
      *
-     * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+     * @mbg.generated Sun Aug 22 13:48:46 CST 2021
      */
     int updateByPrimaryKeyWithBLOBs(AdUserGroupExtend record);
 
@@ -158,7 +158,7 @@ public interface AdUserGroupExtendMapper {
      * This method was generated by MyBatis Generator.
      * This method corresponds to the database table ad_user_group_extend
      *
-     * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+     * @mbg.generated Sun Aug 22 13:48:46 CST 2021
      */
     int updateByPrimaryKey(AdUserGroupExtend record);
 
@@ -166,7 +166,7 @@ public interface AdUserGroupExtendMapper {
      * This method was generated by MyBatis Generator.
      * This method corresponds to the database table ad_user_group_extend
      *
-     * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+     * @mbg.generated Sun Aug 22 13:48:46 CST 2021
      */
     int batchInsert(@Param("list") List<AdUserGroupExtend> list);
 
@@ -174,7 +174,7 @@ public interface AdUserGroupExtendMapper {
      * This method was generated by MyBatis Generator.
      * This method corresponds to the database table ad_user_group_extend
      *
-     * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+     * @mbg.generated Sun Aug 22 13:48:46 CST 2021
      */
     int batchInsertSelective(@Param("list") List<AdUserGroupExtend> list, @Param("selective") AdUserGroupExtend.Column ... selective);
 
@@ -182,7 +182,7 @@ public interface AdUserGroupExtendMapper {
      * This method was generated by MyBatis Generator.
      * This method corresponds to the database table ad_user_group_extend
      *
-     * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+     * @mbg.generated Sun Aug 22 13:48:46 CST 2021
      */
     int upsert(AdUserGroupExtend record);
 
@@ -190,7 +190,7 @@ public interface AdUserGroupExtendMapper {
      * This method was generated by MyBatis Generator.
      * This method corresponds to the database table ad_user_group_extend
      *
-     * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+     * @mbg.generated Sun Aug 22 13:48:46 CST 2021
      */
     int upsertSelective(@Param("record") AdUserGroupExtend record, @Param("selective") AdUserGroupExtend.Column ... selective);
 
@@ -198,7 +198,7 @@ public interface AdUserGroupExtendMapper {
      * This method was generated by MyBatis Generator.
      * This method corresponds to the database table ad_user_group_extend
      *
-     * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+     * @mbg.generated Sun Aug 22 13:48:46 CST 2021
      */
     int upsertWithBLOBs(AdUserGroupExtend record);
 }

+ 40 - 40
book-dao/src/main/java/com/book/dao/polardb/pojo/example/AdUserGroupExtendExample.java

@@ -9,7 +9,7 @@ public class AdUserGroupExtendExample {
      * This field was generated by MyBatis Generator.
      * This field corresponds to the database table ad_user_group_extend
      *
-     * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+     * @mbg.generated Sun Aug 22 13:48:46 CST 2021
      */
     protected String orderByClause;
 
@@ -17,7 +17,7 @@ public class AdUserGroupExtendExample {
      * This field was generated by MyBatis Generator.
      * This field corresponds to the database table ad_user_group_extend
      *
-     * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+     * @mbg.generated Sun Aug 22 13:48:46 CST 2021
      */
     protected boolean distinct;
 
@@ -25,7 +25,7 @@ public class AdUserGroupExtendExample {
      * This field was generated by MyBatis Generator.
      * This field corresponds to the database table ad_user_group_extend
      *
-     * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+     * @mbg.generated Sun Aug 22 13:48:46 CST 2021
      */
     protected List<Criteria> oredCriteria;
 
@@ -33,7 +33,7 @@ public class AdUserGroupExtendExample {
      * This field was generated by MyBatis Generator.
      * This field corresponds to the database table ad_user_group_extend
      *
-     * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+     * @mbg.generated Sun Aug 22 13:48:46 CST 2021
      */
     protected Integer offset;
 
@@ -41,7 +41,7 @@ public class AdUserGroupExtendExample {
      * This field was generated by MyBatis Generator.
      * This field corresponds to the database table ad_user_group_extend
      *
-     * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+     * @mbg.generated Sun Aug 22 13:48:46 CST 2021
      */
     protected Integer rows;
 
@@ -49,7 +49,7 @@ public class AdUserGroupExtendExample {
      * This method was generated by MyBatis Generator.
      * This method corresponds to the database table ad_user_group_extend
      *
-     * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+     * @mbg.generated Sun Aug 22 13:48:46 CST 2021
      */
     public AdUserGroupExtendExample() {
         oredCriteria = new ArrayList<Criteria>();
@@ -59,7 +59,7 @@ public class AdUserGroupExtendExample {
      * This method was generated by MyBatis Generator.
      * This method corresponds to the database table ad_user_group_extend
      *
-     * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+     * @mbg.generated Sun Aug 22 13:48:46 CST 2021
      */
     public void setOrderByClause(String orderByClause) {
         this.orderByClause = orderByClause;
@@ -69,7 +69,7 @@ public class AdUserGroupExtendExample {
      * This method was generated by MyBatis Generator.
      * This method corresponds to the database table ad_user_group_extend
      *
-     * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+     * @mbg.generated Sun Aug 22 13:48:46 CST 2021
      */
     public String getOrderByClause() {
         return orderByClause;
@@ -79,7 +79,7 @@ public class AdUserGroupExtendExample {
      * This method was generated by MyBatis Generator.
      * This method corresponds to the database table ad_user_group_extend
      *
-     * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+     * @mbg.generated Sun Aug 22 13:48:46 CST 2021
      */
     public void setDistinct(boolean distinct) {
         this.distinct = distinct;
@@ -89,7 +89,7 @@ public class AdUserGroupExtendExample {
      * This method was generated by MyBatis Generator.
      * This method corresponds to the database table ad_user_group_extend
      *
-     * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+     * @mbg.generated Sun Aug 22 13:48:46 CST 2021
      */
     public boolean isDistinct() {
         return distinct;
@@ -99,7 +99,7 @@ public class AdUserGroupExtendExample {
      * This method was generated by MyBatis Generator.
      * This method corresponds to the database table ad_user_group_extend
      *
-     * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+     * @mbg.generated Sun Aug 22 13:48:46 CST 2021
      */
     public List<Criteria> getOredCriteria() {
         return oredCriteria;
@@ -109,7 +109,7 @@ public class AdUserGroupExtendExample {
      * This method was generated by MyBatis Generator.
      * This method corresponds to the database table ad_user_group_extend
      *
-     * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+     * @mbg.generated Sun Aug 22 13:48:46 CST 2021
      */
     public void or(Criteria criteria) {
         oredCriteria.add(criteria);
@@ -119,7 +119,7 @@ public class AdUserGroupExtendExample {
      * This method was generated by MyBatis Generator.
      * This method corresponds to the database table ad_user_group_extend
      *
-     * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+     * @mbg.generated Sun Aug 22 13:48:46 CST 2021
      */
     public Criteria or() {
         Criteria criteria = createCriteriaInternal();
@@ -131,7 +131,7 @@ public class AdUserGroupExtendExample {
      * This method was generated by MyBatis Generator.
      * This method corresponds to the database table ad_user_group_extend
      *
-     * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+     * @mbg.generated Sun Aug 22 13:48:46 CST 2021
      */
     public AdUserGroupExtendExample orderBy(String orderByClause) {
         this.setOrderByClause(orderByClause);
@@ -142,7 +142,7 @@ public class AdUserGroupExtendExample {
      * This method was generated by MyBatis Generator.
      * This method corresponds to the database table ad_user_group_extend
      *
-     * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+     * @mbg.generated Sun Aug 22 13:48:46 CST 2021
      */
     public AdUserGroupExtendExample orderBy(String ... orderByClauses) {
         StringBuffer sb = new StringBuffer();
@@ -160,7 +160,7 @@ public class AdUserGroupExtendExample {
      * This method was generated by MyBatis Generator.
      * This method corresponds to the database table ad_user_group_extend
      *
-     * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+     * @mbg.generated Sun Aug 22 13:48:46 CST 2021
      */
     public Criteria createCriteria() {
         Criteria criteria = createCriteriaInternal();
@@ -174,7 +174,7 @@ public class AdUserGroupExtendExample {
      * This method was generated by MyBatis Generator.
      * This method corresponds to the database table ad_user_group_extend
      *
-     * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+     * @mbg.generated Sun Aug 22 13:48:46 CST 2021
      */
     protected Criteria createCriteriaInternal() {
         Criteria criteria = new Criteria(this);
@@ -185,7 +185,7 @@ public class AdUserGroupExtendExample {
      * This method was generated by MyBatis Generator.
      * This method corresponds to the database table ad_user_group_extend
      *
-     * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+     * @mbg.generated Sun Aug 22 13:48:46 CST 2021
      */
     public void clear() {
         oredCriteria.clear();
@@ -199,7 +199,7 @@ public class AdUserGroupExtendExample {
      * This method was generated by MyBatis Generator.
      * This method corresponds to the database table ad_user_group_extend
      *
-     * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+     * @mbg.generated Sun Aug 22 13:48:46 CST 2021
      */
     public void setOffset(Integer offset) {
         this.offset = offset;
@@ -209,7 +209,7 @@ public class AdUserGroupExtendExample {
      * This method was generated by MyBatis Generator.
      * This method corresponds to the database table ad_user_group_extend
      *
-     * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+     * @mbg.generated Sun Aug 22 13:48:46 CST 2021
      */
     public Integer getOffset() {
         return this.offset;
@@ -219,7 +219,7 @@ public class AdUserGroupExtendExample {
      * This method was generated by MyBatis Generator.
      * This method corresponds to the database table ad_user_group_extend
      *
-     * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+     * @mbg.generated Sun Aug 22 13:48:46 CST 2021
      */
     public void setRows(Integer rows) {
         this.rows = rows;
@@ -229,7 +229,7 @@ public class AdUserGroupExtendExample {
      * This method was generated by MyBatis Generator.
      * This method corresponds to the database table ad_user_group_extend
      *
-     * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+     * @mbg.generated Sun Aug 22 13:48:46 CST 2021
      */
     public Integer getRows() {
         return this.rows;
@@ -239,7 +239,7 @@ public class AdUserGroupExtendExample {
      * This method was generated by MyBatis Generator.
      * This method corresponds to the database table ad_user_group_extend
      *
-     * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+     * @mbg.generated Sun Aug 22 13:48:46 CST 2021
      */
     public AdUserGroupExtendExample limit(Integer rows) {
         this.rows = rows;
@@ -250,7 +250,7 @@ public class AdUserGroupExtendExample {
      * This method was generated by MyBatis Generator.
      * This method corresponds to the database table ad_user_group_extend
      *
-     * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+     * @mbg.generated Sun Aug 22 13:48:46 CST 2021
      */
     public AdUserGroupExtendExample limit(Integer offset, Integer rows) {
         this.offset = offset;
@@ -262,7 +262,7 @@ public class AdUserGroupExtendExample {
      * This method was generated by MyBatis Generator.
      * This method corresponds to the database table ad_user_group_extend
      *
-     * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+     * @mbg.generated Sun Aug 22 13:48:46 CST 2021
      */
     public AdUserGroupExtendExample page(Integer page, Integer pageSize) {
         this.offset = page * pageSize;
@@ -274,7 +274,7 @@ public class AdUserGroupExtendExample {
      * This method was generated by MyBatis Generator.
      * This method corresponds to the database table ad_user_group_extend
      *
-     * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+     * @mbg.generated Sun Aug 22 13:48:46 CST 2021
      */
     public static Criteria newAndCreateCriteria() {
         AdUserGroupExtendExample example = new AdUserGroupExtendExample();
@@ -285,7 +285,7 @@ public class AdUserGroupExtendExample {
      * This method was generated by MyBatis Generator.
      * This method corresponds to the database table ad_user_group_extend
      *
-     * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+     * @mbg.generated Sun Aug 22 13:48:46 CST 2021
      */
     public AdUserGroupExtendExample when(boolean condition, IExampleWhen then) {
         if (condition) {
@@ -298,7 +298,7 @@ public class AdUserGroupExtendExample {
      * This method was generated by MyBatis Generator.
      * This method corresponds to the database table ad_user_group_extend
      *
-     * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+     * @mbg.generated Sun Aug 22 13:48:46 CST 2021
      */
     public AdUserGroupExtendExample when(boolean condition, IExampleWhen then, IExampleWhen otherwise) {
         if (condition) {
@@ -313,7 +313,7 @@ public class AdUserGroupExtendExample {
      * This class was generated by MyBatis Generator.
      * This class corresponds to the database table ad_user_group_extend
      *
-     * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+     * @mbg.generated Sun Aug 22 13:48:46 CST 2021
      */
     protected abstract static class GeneratedCriteria {
         protected List<Criterion> criteria;
@@ -901,14 +901,14 @@ public class AdUserGroupExtendExample {
      * This class was generated by MyBatis Generator.
      * This class corresponds to the database table ad_user_group_extend
      *
-     * @mbg.generated do_not_delete_during_merge Sat Aug 21 18:03:39 CST 2021
+     * @mbg.generated do_not_delete_during_merge Sun Aug 22 13:48:46 CST 2021
      */
     public static class Criteria extends GeneratedCriteria {
         /**
          * This field was generated by MyBatis Generator.
          * This field corresponds to the database table ad_user_group_extend
          *
-         * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+         * @mbg.generated Sun Aug 22 13:48:46 CST 2021
          */
         private AdUserGroupExtendExample example;
 
@@ -916,7 +916,7 @@ public class AdUserGroupExtendExample {
          * This method was generated by MyBatis Generator.
          * This method corresponds to the database table ad_user_group_extend
          *
-         * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+         * @mbg.generated Sun Aug 22 13:48:46 CST 2021
          */
         protected Criteria(AdUserGroupExtendExample example) {
             super();
@@ -927,7 +927,7 @@ public class AdUserGroupExtendExample {
          * This method was generated by MyBatis Generator.
          * This method corresponds to the database table ad_user_group_extend
          *
-         * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+         * @mbg.generated Sun Aug 22 13:48:46 CST 2021
          */
         public AdUserGroupExtendExample example() {
             return this.example;
@@ -937,7 +937,7 @@ public class AdUserGroupExtendExample {
          * This method was generated by MyBatis Generator.
          * This method corresponds to the database table ad_user_group_extend
          *
-         * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+         * @mbg.generated Sun Aug 22 13:48:46 CST 2021
          */
         @Deprecated
         public Criteria andIf(boolean ifAdd, ICriteriaAdd add) {
@@ -951,7 +951,7 @@ public class AdUserGroupExtendExample {
          * This method was generated by MyBatis Generator.
          * This method corresponds to the database table ad_user_group_extend
          *
-         * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+         * @mbg.generated Sun Aug 22 13:48:46 CST 2021
          */
         public Criteria when(boolean condition, ICriteriaWhen then) {
             if (condition) {
@@ -964,7 +964,7 @@ public class AdUserGroupExtendExample {
          * This method was generated by MyBatis Generator.
          * This method corresponds to the database table ad_user_group_extend
          *
-         * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+         * @mbg.generated Sun Aug 22 13:48:46 CST 2021
          */
         public Criteria when(boolean condition, ICriteriaWhen then, ICriteriaWhen otherwise) {
             if (condition) {
@@ -981,7 +981,7 @@ public class AdUserGroupExtendExample {
              * This method was generated by MyBatis Generator.
              * This method corresponds to the database table ad_user_group_extend
              *
-             * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+             * @mbg.generated Sun Aug 22 13:48:46 CST 2021
              */
             Criteria add(Criteria add);
         }
@@ -991,7 +991,7 @@ public class AdUserGroupExtendExample {
      * This class was generated by MyBatis Generator.
      * This class corresponds to the database table ad_user_group_extend
      *
-     * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+     * @mbg.generated Sun Aug 22 13:48:46 CST 2021
      */
     public static class Criterion {
         private String condition;
@@ -1084,7 +1084,7 @@ public class AdUserGroupExtendExample {
          * This method was generated by MyBatis Generator.
          * This method corresponds to the database table ad_user_group_extend
          *
-         * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+         * @mbg.generated Sun Aug 22 13:48:46 CST 2021
          */
         void criteria(Criteria criteria);
     }
@@ -1094,7 +1094,7 @@ public class AdUserGroupExtendExample {
          * This method was generated by MyBatis Generator.
          * This method corresponds to the database table ad_user_group_extend
          *
-         * @mbg.generated Sat Aug 21 18:03:39 CST 2021
+         * @mbg.generated Sun Aug 22 13:48:46 CST 2021
          */
         void example(com.book.dao.polardb.pojo.example.AdUserGroupExtendExample example);
     }

+ 1 - 1
book-dao/src/main/resources/mybatis-generator-cps.xml → book-dao/src/main/resources/cps-mybatis-generator.xml

@@ -112,7 +112,7 @@
                             targetProject="src/main/java"/>
 
         <!--指定自动生成的 mapper.xml置于哪个包下 -->
-        <sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources"/>
+        <sqlMapGenerator targetPackage="mapper/cps" targetProject="src/main/resources"/>
 
         <!--指定自动生成的 DAO接口置于哪个包下 need to change-->
         <javaClientGenerator targetPackage="com.book.dao.cps.mapper"

+ 1133 - 0
book-dao/src/main/resources/mapper/cpsshard/ConsumeMapper.xml

@@ -0,0 +1,1133 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.book.dao.cpsshard.mapper.ConsumeMapper">
+  <resultMap id="BaseResultMap" type="com.book.dao.cpsshard.entity.Consume">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    <id column="id" jdbcType="BIGINT" property="id" />
+    <result column="user_id" jdbcType="BIGINT" property="userId" />
+    <result column="type" jdbcType="CHAR" property="type" />
+    <result column="book_id" jdbcType="BIGINT" property="bookId" />
+    <result column="book_name" jdbcType="VARCHAR" property="bookName" />
+    <result column="chapter_id" jdbcType="BIGINT" property="chapterId" />
+    <result column="chapter_name" jdbcType="VARCHAR" property="chapterName" />
+    <result column="kandian" jdbcType="INTEGER" property="kandian" />
+    <result column="free_kandian" jdbcType="INTEGER" property="freeKandian" />
+    <result column="extend1" jdbcType="VARCHAR" property="extend1" />
+    <result column="extend2" jdbcType="VARCHAR" property="extend2" />
+    <result column="createtime" jdbcType="INTEGER" property="createtime" />
+    <result column="updatetime" jdbcType="INTEGER" property="updatetime" />
+    <result column="business_line" jdbcType="TINYINT" property="businessLine" />
+    <result column="dd_kandian" jdbcType="INTEGER" property="ddKandian" />
+    <result column="dd_free_kandian" jdbcType="INTEGER" property="ddFreeKandian" />
+  </resultMap>
+  <resultMap extends="BaseResultMap" id="ResultMapWithBLOBs" type="com.book.dao.cpsshard.entity.Consume">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    <result column="camp_info" jdbcType="LONGVARCHAR" property="campInfo" />
+    <result column="consume_info" jdbcType="LONGVARCHAR" property="consumeInfo" />
+  </resultMap>
+  <sql id="Example_Where_Clause">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    <where>
+      <foreach collection="oredCriteria" item="criteria" separator="or">
+        <if test="criteria.valid">
+          <trim prefix="(" prefixOverrides="and" suffix=")">
+            <foreach collection="criteria.criteria" item="criterion">
+              <choose>
+                <when test="criterion.noValue">
+                  and ${criterion.condition}
+                </when>
+                <when test="criterion.singleValue">
+                  and ${criterion.condition} #{criterion.value}
+                </when>
+                <when test="criterion.betweenValue">
+                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+                </when>
+                <when test="criterion.listValue">
+                  and ${criterion.condition}
+                  <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
+                    #{listItem}
+                  </foreach>
+                </when>
+              </choose>
+            </foreach>
+          </trim>
+        </if>
+      </foreach>
+    </where>
+  </sql>
+  <sql id="Update_By_Example_Where_Clause">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    <where>
+      <foreach collection="example.oredCriteria" item="criteria" separator="or">
+        <if test="criteria.valid">
+          <trim prefix="(" prefixOverrides="and" suffix=")">
+            <foreach collection="criteria.criteria" item="criterion">
+              <choose>
+                <when test="criterion.noValue">
+                  and ${criterion.condition}
+                </when>
+                <when test="criterion.singleValue">
+                  and ${criterion.condition} #{criterion.value}
+                </when>
+                <when test="criterion.betweenValue">
+                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+                </when>
+                <when test="criterion.listValue">
+                  and ${criterion.condition}
+                  <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
+                    #{listItem}
+                  </foreach>
+                </when>
+              </choose>
+            </foreach>
+          </trim>
+        </if>
+      </foreach>
+    </where>
+  </sql>
+  <sql id="Base_Column_List">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    id, user_id, type, book_id, book_name, chapter_id, chapter_name, kandian, free_kandian, 
+    extend1, extend2, createtime, updatetime, business_line, dd_kandian, dd_free_kandian
+  </sql>
+  <sql id="Blob_Column_List">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    camp_info, consume_info
+  </sql>
+  <select id="selectByExampleWithBLOBs" parameterType="com.book.dao.cpsshard.pojo.example.ConsumeExample" resultMap="ResultMapWithBLOBs">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    select
+    <if test="distinct">
+      distinct
+    </if>
+    <include refid="Base_Column_List" />
+    ,
+    <include refid="Blob_Column_List" />
+    from consume
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+    <if test="orderByClause != null">
+      order by ${orderByClause}
+    </if>
+    <if test="rows != null">
+      <if test="offset != null">
+        limit ${offset}, ${rows}
+      </if>
+      <if test="offset == null">
+        limit ${rows}
+      </if>
+    </if>
+  </select>
+  <select id="selectByExample" parameterType="com.book.dao.cpsshard.pojo.example.ConsumeExample" resultMap="BaseResultMap">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    select
+    <if test="distinct">
+      distinct
+    </if>
+    <include refid="Base_Column_List" />
+    from consume
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+    <if test="orderByClause != null">
+      order by ${orderByClause}
+    </if>
+    <if test="rows != null">
+      <if test="offset != null">
+        limit ${offset}, ${rows}
+      </if>
+      <if test="offset == null">
+        limit ${rows}
+      </if>
+    </if>
+  </select>
+  <select id="selectByExampleSelective" parameterType="map" resultMap="ResultMapWithBLOBs">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    select
+    <if test="example != null and example.distinct">
+      distinct
+    </if>
+    <choose>
+      <when test="selective != null and selective.length > 0">
+        <foreach collection="selective" item="column" separator=",">
+          ${column.aliasedEscapedColumnName}
+        </foreach>
+      </when>
+      <otherwise>
+        <include refid="Base_Column_List" />
+        ,
+        <include refid="Blob_Column_List" />
+      </otherwise>
+    </choose>
+    from consume
+    <if test="example != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+    <if test="example != null and example.orderByClause != null">
+      order by ${example.orderByClause}
+    </if>
+    <if test="example != null and example.rows != null">
+      <if test="example.offset != null">
+        limit ${example.offset}, ${example.rows}
+      </if>
+      <if test="example.offset == null">
+        limit ${example.rows}
+      </if>
+    </if>
+  </select>
+  <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="ResultMapWithBLOBs">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    select 
+    <include refid="Base_Column_List" />
+    ,
+    <include refid="Blob_Column_List" />
+    from consume
+    where id = #{id,jdbcType=BIGINT}
+  </select>
+  <select id="selectByPrimaryKeySelective" parameterType="map" resultMap="ResultMapWithBLOBs">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    select
+    <choose>
+      <when test="selective != null and selective.length > 0">
+        <foreach collection="selective" item="column" separator=",">
+          ${column.aliasedEscapedColumnName}
+        </foreach>
+      </when>
+      <otherwise>
+        <include refid="Base_Column_List" />
+        ,
+        <include refid="Blob_Column_List" />
+      </otherwise>
+    </choose>
+    from consume
+    where id = #{id,jdbcType=BIGINT}
+  </select>
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    delete from consume
+    where id = #{id,jdbcType=BIGINT}
+  </delete>
+  <delete id="deleteByExample" parameterType="com.book.dao.cpsshard.pojo.example.ConsumeExample">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    delete from consume
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+  </delete>
+  <insert id="insert" parameterType="com.book.dao.cpsshard.entity.Consume">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    insert into consume (id, user_id, type, 
+      book_id, book_name, chapter_id, 
+      chapter_name, kandian, free_kandian, 
+      extend1, extend2, createtime, 
+      updatetime, business_line, dd_kandian, 
+      dd_free_kandian, camp_info, consume_info
+      )
+    values (#{id,jdbcType=BIGINT}, #{userId,jdbcType=BIGINT}, #{type,jdbcType=CHAR}, 
+      #{bookId,jdbcType=BIGINT}, #{bookName,jdbcType=VARCHAR}, #{chapterId,jdbcType=BIGINT}, 
+      #{chapterName,jdbcType=VARCHAR}, #{kandian,jdbcType=INTEGER}, #{freeKandian,jdbcType=INTEGER}, 
+      #{extend1,jdbcType=VARCHAR}, #{extend2,jdbcType=VARCHAR}, #{createtime,jdbcType=INTEGER}, 
+      #{updatetime,jdbcType=INTEGER}, #{businessLine,jdbcType=TINYINT}, #{ddKandian,jdbcType=INTEGER}, 
+      #{ddFreeKandian,jdbcType=INTEGER}, #{campInfo,jdbcType=LONGVARCHAR}, #{consumeInfo,jdbcType=LONGVARCHAR}
+      )
+  </insert>
+  <insert id="insertSelective" parameterType="map">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    insert into consume
+    <choose>
+      <when test="selective != null and selective.length > 0">
+        <foreach close=")" collection="selective" item="column" open="(" separator=",">
+          ${column.escapedColumnName}
+        </foreach>
+      </when>
+      <otherwise>
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+          <if test="record.id != null">
+            id,
+          </if>
+          <if test="record.userId != null">
+            user_id,
+          </if>
+          <if test="record.type != null">
+            type,
+          </if>
+          <if test="record.bookId != null">
+            book_id,
+          </if>
+          <if test="record.bookName != null">
+            book_name,
+          </if>
+          <if test="record.chapterId != null">
+            chapter_id,
+          </if>
+          <if test="record.chapterName != null">
+            chapter_name,
+          </if>
+          <if test="record.kandian != null">
+            kandian,
+          </if>
+          <if test="record.freeKandian != null">
+            free_kandian,
+          </if>
+          <if test="record.extend1 != null">
+            extend1,
+          </if>
+          <if test="record.extend2 != null">
+            extend2,
+          </if>
+          <if test="record.createtime != null">
+            createtime,
+          </if>
+          <if test="record.updatetime != null">
+            updatetime,
+          </if>
+          <if test="record.businessLine != null">
+            business_line,
+          </if>
+          <if test="record.ddKandian != null">
+            dd_kandian,
+          </if>
+          <if test="record.ddFreeKandian != null">
+            dd_free_kandian,
+          </if>
+          <if test="record.campInfo != null">
+            camp_info,
+          </if>
+          <if test="record.consumeInfo != null">
+            consume_info,
+          </if>
+        </trim>
+        <trim prefix="(" suffix=")" suffixOverrides="," />
+      </otherwise>
+    </choose>
+    values
+    <choose>
+      <when test="selective != null and selective.length > 0">
+        <foreach close=")" collection="selective" item="column" open="(" separator=",">
+          #{record.${column.javaProperty},jdbcType=${column.jdbcType}}
+        </foreach>
+      </when>
+      <otherwise>
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+          <if test="record.id != null">
+            #{record.id,jdbcType=BIGINT},
+          </if>
+          <if test="record.userId != null">
+            #{record.userId,jdbcType=BIGINT},
+          </if>
+          <if test="record.type != null">
+            #{record.type,jdbcType=CHAR},
+          </if>
+          <if test="record.bookId != null">
+            #{record.bookId,jdbcType=BIGINT},
+          </if>
+          <if test="record.bookName != null">
+            #{record.bookName,jdbcType=VARCHAR},
+          </if>
+          <if test="record.chapterId != null">
+            #{record.chapterId,jdbcType=BIGINT},
+          </if>
+          <if test="record.chapterName != null">
+            #{record.chapterName,jdbcType=VARCHAR},
+          </if>
+          <if test="record.kandian != null">
+            #{record.kandian,jdbcType=INTEGER},
+          </if>
+          <if test="record.freeKandian != null">
+            #{record.freeKandian,jdbcType=INTEGER},
+          </if>
+          <if test="record.extend1 != null">
+            #{record.extend1,jdbcType=VARCHAR},
+          </if>
+          <if test="record.extend2 != null">
+            #{record.extend2,jdbcType=VARCHAR},
+          </if>
+          <if test="record.createtime != null">
+            #{record.createtime,jdbcType=INTEGER},
+          </if>
+          <if test="record.updatetime != null">
+            #{record.updatetime,jdbcType=INTEGER},
+          </if>
+          <if test="record.businessLine != null">
+            #{record.businessLine,jdbcType=TINYINT},
+          </if>
+          <if test="record.ddKandian != null">
+            #{record.ddKandian,jdbcType=INTEGER},
+          </if>
+          <if test="record.ddFreeKandian != null">
+            #{record.ddFreeKandian,jdbcType=INTEGER},
+          </if>
+          <if test="record.campInfo != null">
+            #{record.campInfo,jdbcType=LONGVARCHAR},
+          </if>
+          <if test="record.consumeInfo != null">
+            #{record.consumeInfo,jdbcType=LONGVARCHAR},
+          </if>
+        </trim>
+      </otherwise>
+    </choose>
+  </insert>
+  <select id="countByExample" parameterType="com.book.dao.cpsshard.pojo.example.ConsumeExample" resultType="java.lang.Long">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    select count(*) from consume
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+  </select>
+  <update id="updateByExampleSelective" parameterType="map">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    update consume
+    SET
+    <choose>
+      <when test="selective != null and selective.length > 0">
+        <foreach collection="selective" item="column" separator=",">
+          ${column.escapedColumnName} = #{record.${column.javaProperty},jdbcType=${column.jdbcType}}
+        </foreach>
+      </when>
+      <otherwise>
+        <trim suffixOverrides=",">
+          <if test="record.id != null">
+            id = #{record.id,jdbcType=BIGINT},
+          </if>
+          <if test="record.userId != null">
+            user_id = #{record.userId,jdbcType=BIGINT},
+          </if>
+          <if test="record.type != null">
+            type = #{record.type,jdbcType=CHAR},
+          </if>
+          <if test="record.bookId != null">
+            book_id = #{record.bookId,jdbcType=BIGINT},
+          </if>
+          <if test="record.bookName != null">
+            book_name = #{record.bookName,jdbcType=VARCHAR},
+          </if>
+          <if test="record.chapterId != null">
+            chapter_id = #{record.chapterId,jdbcType=BIGINT},
+          </if>
+          <if test="record.chapterName != null">
+            chapter_name = #{record.chapterName,jdbcType=VARCHAR},
+          </if>
+          <if test="record.kandian != null">
+            kandian = #{record.kandian,jdbcType=INTEGER},
+          </if>
+          <if test="record.freeKandian != null">
+            free_kandian = #{record.freeKandian,jdbcType=INTEGER},
+          </if>
+          <if test="record.extend1 != null">
+            extend1 = #{record.extend1,jdbcType=VARCHAR},
+          </if>
+          <if test="record.extend2 != null">
+            extend2 = #{record.extend2,jdbcType=VARCHAR},
+          </if>
+          <if test="record.createtime != null">
+            createtime = #{record.createtime,jdbcType=INTEGER},
+          </if>
+          <if test="record.updatetime != null">
+            updatetime = #{record.updatetime,jdbcType=INTEGER},
+          </if>
+          <if test="record.businessLine != null">
+            business_line = #{record.businessLine,jdbcType=TINYINT},
+          </if>
+          <if test="record.ddKandian != null">
+            dd_kandian = #{record.ddKandian,jdbcType=INTEGER},
+          </if>
+          <if test="record.ddFreeKandian != null">
+            dd_free_kandian = #{record.ddFreeKandian,jdbcType=INTEGER},
+          </if>
+          <if test="record.campInfo != null">
+            camp_info = #{record.campInfo,jdbcType=LONGVARCHAR},
+          </if>
+          <if test="record.consumeInfo != null">
+            consume_info = #{record.consumeInfo,jdbcType=LONGVARCHAR},
+          </if>
+        </trim>
+      </otherwise>
+    </choose>
+    <if test="_parameter != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+  </update>
+  <update id="updateByExampleWithBLOBs" parameterType="map">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    update consume
+    set id = #{record.id,jdbcType=BIGINT},
+      user_id = #{record.userId,jdbcType=BIGINT},
+      type = #{record.type,jdbcType=CHAR},
+      book_id = #{record.bookId,jdbcType=BIGINT},
+      book_name = #{record.bookName,jdbcType=VARCHAR},
+      chapter_id = #{record.chapterId,jdbcType=BIGINT},
+      chapter_name = #{record.chapterName,jdbcType=VARCHAR},
+      kandian = #{record.kandian,jdbcType=INTEGER},
+      free_kandian = #{record.freeKandian,jdbcType=INTEGER},
+      extend1 = #{record.extend1,jdbcType=VARCHAR},
+      extend2 = #{record.extend2,jdbcType=VARCHAR},
+      createtime = #{record.createtime,jdbcType=INTEGER},
+      updatetime = #{record.updatetime,jdbcType=INTEGER},
+      business_line = #{record.businessLine,jdbcType=TINYINT},
+      dd_kandian = #{record.ddKandian,jdbcType=INTEGER},
+      dd_free_kandian = #{record.ddFreeKandian,jdbcType=INTEGER},
+      camp_info = #{record.campInfo,jdbcType=LONGVARCHAR},
+      consume_info = #{record.consumeInfo,jdbcType=LONGVARCHAR}
+    <if test="_parameter != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+  </update>
+  <update id="updateByExample" parameterType="map">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    update consume
+    set id = #{record.id,jdbcType=BIGINT},
+      user_id = #{record.userId,jdbcType=BIGINT},
+      type = #{record.type,jdbcType=CHAR},
+      book_id = #{record.bookId,jdbcType=BIGINT},
+      book_name = #{record.bookName,jdbcType=VARCHAR},
+      chapter_id = #{record.chapterId,jdbcType=BIGINT},
+      chapter_name = #{record.chapterName,jdbcType=VARCHAR},
+      kandian = #{record.kandian,jdbcType=INTEGER},
+      free_kandian = #{record.freeKandian,jdbcType=INTEGER},
+      extend1 = #{record.extend1,jdbcType=VARCHAR},
+      extend2 = #{record.extend2,jdbcType=VARCHAR},
+      createtime = #{record.createtime,jdbcType=INTEGER},
+      updatetime = #{record.updatetime,jdbcType=INTEGER},
+      business_line = #{record.businessLine,jdbcType=TINYINT},
+      dd_kandian = #{record.ddKandian,jdbcType=INTEGER},
+      dd_free_kandian = #{record.ddFreeKandian,jdbcType=INTEGER}
+    <if test="_parameter != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+  </update>
+  <update id="updateByPrimaryKeySelective" parameterType="map">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    update consume
+    SET
+    <choose>
+      <when test="selective != null and selective.length > 0">
+        <foreach collection="selective" item="column" separator=",">
+          ${column.escapedColumnName} = #{record.${column.javaProperty},jdbcType=${column.jdbcType}}
+        </foreach>
+      </when>
+      <otherwise>
+        <trim suffixOverrides=",">
+          <if test="record.userId != null">
+            user_id = #{record.userId,jdbcType=BIGINT},
+          </if>
+          <if test="record.type != null">
+            type = #{record.type,jdbcType=CHAR},
+          </if>
+          <if test="record.bookId != null">
+            book_id = #{record.bookId,jdbcType=BIGINT},
+          </if>
+          <if test="record.bookName != null">
+            book_name = #{record.bookName,jdbcType=VARCHAR},
+          </if>
+          <if test="record.chapterId != null">
+            chapter_id = #{record.chapterId,jdbcType=BIGINT},
+          </if>
+          <if test="record.chapterName != null">
+            chapter_name = #{record.chapterName,jdbcType=VARCHAR},
+          </if>
+          <if test="record.kandian != null">
+            kandian = #{record.kandian,jdbcType=INTEGER},
+          </if>
+          <if test="record.freeKandian != null">
+            free_kandian = #{record.freeKandian,jdbcType=INTEGER},
+          </if>
+          <if test="record.extend1 != null">
+            extend1 = #{record.extend1,jdbcType=VARCHAR},
+          </if>
+          <if test="record.extend2 != null">
+            extend2 = #{record.extend2,jdbcType=VARCHAR},
+          </if>
+          <if test="record.createtime != null">
+            createtime = #{record.createtime,jdbcType=INTEGER},
+          </if>
+          <if test="record.updatetime != null">
+            updatetime = #{record.updatetime,jdbcType=INTEGER},
+          </if>
+          <if test="record.businessLine != null">
+            business_line = #{record.businessLine,jdbcType=TINYINT},
+          </if>
+          <if test="record.ddKandian != null">
+            dd_kandian = #{record.ddKandian,jdbcType=INTEGER},
+          </if>
+          <if test="record.ddFreeKandian != null">
+            dd_free_kandian = #{record.ddFreeKandian,jdbcType=INTEGER},
+          </if>
+          <if test="record.campInfo != null">
+            camp_info = #{record.campInfo,jdbcType=LONGVARCHAR},
+          </if>
+          <if test="record.consumeInfo != null">
+            consume_info = #{record.consumeInfo,jdbcType=LONGVARCHAR},
+          </if>
+        </trim>
+      </otherwise>
+    </choose>
+    where id = #{record.id,jdbcType=BIGINT}
+  </update>
+  <update id="updateByPrimaryKeyWithBLOBs" parameterType="com.book.dao.cpsshard.entity.Consume">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    update consume
+    set user_id = #{userId,jdbcType=BIGINT},
+      type = #{type,jdbcType=CHAR},
+      book_id = #{bookId,jdbcType=BIGINT},
+      book_name = #{bookName,jdbcType=VARCHAR},
+      chapter_id = #{chapterId,jdbcType=BIGINT},
+      chapter_name = #{chapterName,jdbcType=VARCHAR},
+      kandian = #{kandian,jdbcType=INTEGER},
+      free_kandian = #{freeKandian,jdbcType=INTEGER},
+      extend1 = #{extend1,jdbcType=VARCHAR},
+      extend2 = #{extend2,jdbcType=VARCHAR},
+      createtime = #{createtime,jdbcType=INTEGER},
+      updatetime = #{updatetime,jdbcType=INTEGER},
+      business_line = #{businessLine,jdbcType=TINYINT},
+      dd_kandian = #{ddKandian,jdbcType=INTEGER},
+      dd_free_kandian = #{ddFreeKandian,jdbcType=INTEGER},
+      camp_info = #{campInfo,jdbcType=LONGVARCHAR},
+      consume_info = #{consumeInfo,jdbcType=LONGVARCHAR}
+    where id = #{id,jdbcType=BIGINT}
+  </update>
+  <update id="updateByPrimaryKey" parameterType="com.book.dao.cpsshard.entity.Consume">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    update consume
+    set user_id = #{userId,jdbcType=BIGINT},
+      type = #{type,jdbcType=CHAR},
+      book_id = #{bookId,jdbcType=BIGINT},
+      book_name = #{bookName,jdbcType=VARCHAR},
+      chapter_id = #{chapterId,jdbcType=BIGINT},
+      chapter_name = #{chapterName,jdbcType=VARCHAR},
+      kandian = #{kandian,jdbcType=INTEGER},
+      free_kandian = #{freeKandian,jdbcType=INTEGER},
+      extend1 = #{extend1,jdbcType=VARCHAR},
+      extend2 = #{extend2,jdbcType=VARCHAR},
+      createtime = #{createtime,jdbcType=INTEGER},
+      updatetime = #{updatetime,jdbcType=INTEGER},
+      business_line = #{businessLine,jdbcType=TINYINT},
+      dd_kandian = #{ddKandian,jdbcType=INTEGER},
+      dd_free_kandian = #{ddFreeKandian,jdbcType=INTEGER}
+    where id = #{id,jdbcType=BIGINT}
+  </update>
+  <select id="selectOneByExample" parameterType="com.book.dao.cpsshard.pojo.example.ConsumeExample" resultMap="BaseResultMap">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    select
+    <include refid="Base_Column_List" />
+    from consume
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+    <if test="orderByClause != null">
+      order by ${orderByClause}
+    </if>
+    limit 1
+  </select>
+  <select id="selectOneByExampleWithBLOBs" parameterType="com.book.dao.cpsshard.pojo.example.ConsumeExample" resultMap="ResultMapWithBLOBs">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    select
+    <include refid="Base_Column_List" />
+    ,
+    <include refid="Blob_Column_List" />
+    from consume
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+    <if test="orderByClause != null">
+      order by ${orderByClause}
+    </if>
+    limit 1
+  </select>
+  <select id="selectOneByExampleSelective" parameterType="map" resultMap="ResultMapWithBLOBs">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    select
+    <choose>
+      <when test="selective != null and selective.length > 0">
+        <foreach collection="selective" item="column" separator=",">
+          ${column.aliasedEscapedColumnName}
+        </foreach>
+      </when>
+      <otherwise>
+        <include refid="Base_Column_List" />
+        ,
+        <include refid="Blob_Column_List" />
+      </otherwise>
+    </choose>
+    from consume
+    <if test="example != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+    <if test="example != null and example.orderByClause != null">
+      order by ${example.orderByClause}
+    </if>
+    limit 1
+  </select>
+  <insert id="batchInsert" parameterType="map">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    insert into consume
+    (id, user_id, type, book_id, book_name, chapter_id, chapter_name, kandian, free_kandian, 
+      extend1, extend2, createtime, updatetime, business_line, dd_kandian, dd_free_kandian, 
+      camp_info, consume_info)
+    values
+    <foreach collection="list" item="item" separator=",">
+      (#{item.id,jdbcType=BIGINT}, #{item.userId,jdbcType=BIGINT}, #{item.type,jdbcType=CHAR}, 
+        #{item.bookId,jdbcType=BIGINT}, #{item.bookName,jdbcType=VARCHAR}, #{item.chapterId,jdbcType=BIGINT}, 
+        #{item.chapterName,jdbcType=VARCHAR}, #{item.kandian,jdbcType=INTEGER}, #{item.freeKandian,jdbcType=INTEGER}, 
+        #{item.extend1,jdbcType=VARCHAR}, #{item.extend2,jdbcType=VARCHAR}, #{item.createtime,jdbcType=INTEGER}, 
+        #{item.updatetime,jdbcType=INTEGER}, #{item.businessLine,jdbcType=TINYINT}, #{item.ddKandian,jdbcType=INTEGER}, 
+        #{item.ddFreeKandian,jdbcType=INTEGER}, #{item.campInfo,jdbcType=LONGVARCHAR}, 
+        #{item.consumeInfo,jdbcType=LONGVARCHAR})
+    </foreach>
+  </insert>
+  <insert id="batchInsertSelective" parameterType="map">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    insert into consume (
+    <foreach collection="selective" item="column" separator=",">
+      ${column.escapedColumnName}
+    </foreach>
+    )
+    values
+    <foreach collection="list" item="item" separator=",">
+      (
+      <foreach collection="selective" item="column" separator=",">
+        <if test="'id'.toString() == column.value">
+          #{item.id,jdbcType=BIGINT}
+        </if>
+        <if test="'user_id'.toString() == column.value">
+          #{item.userId,jdbcType=BIGINT}
+        </if>
+        <if test="'type'.toString() == column.value">
+          #{item.type,jdbcType=CHAR}
+        </if>
+        <if test="'book_id'.toString() == column.value">
+          #{item.bookId,jdbcType=BIGINT}
+        </if>
+        <if test="'book_name'.toString() == column.value">
+          #{item.bookName,jdbcType=VARCHAR}
+        </if>
+        <if test="'chapter_id'.toString() == column.value">
+          #{item.chapterId,jdbcType=BIGINT}
+        </if>
+        <if test="'chapter_name'.toString() == column.value">
+          #{item.chapterName,jdbcType=VARCHAR}
+        </if>
+        <if test="'kandian'.toString() == column.value">
+          #{item.kandian,jdbcType=INTEGER}
+        </if>
+        <if test="'free_kandian'.toString() == column.value">
+          #{item.freeKandian,jdbcType=INTEGER}
+        </if>
+        <if test="'extend1'.toString() == column.value">
+          #{item.extend1,jdbcType=VARCHAR}
+        </if>
+        <if test="'extend2'.toString() == column.value">
+          #{item.extend2,jdbcType=VARCHAR}
+        </if>
+        <if test="'createtime'.toString() == column.value">
+          #{item.createtime,jdbcType=INTEGER}
+        </if>
+        <if test="'updatetime'.toString() == column.value">
+          #{item.updatetime,jdbcType=INTEGER}
+        </if>
+        <if test="'business_line'.toString() == column.value">
+          #{item.businessLine,jdbcType=TINYINT}
+        </if>
+        <if test="'dd_kandian'.toString() == column.value">
+          #{item.ddKandian,jdbcType=INTEGER}
+        </if>
+        <if test="'dd_free_kandian'.toString() == column.value">
+          #{item.ddFreeKandian,jdbcType=INTEGER}
+        </if>
+        <if test="'camp_info'.toString() == column.value">
+          #{item.campInfo,jdbcType=LONGVARCHAR}
+        </if>
+        <if test="'consume_info'.toString() == column.value">
+          #{item.consumeInfo,jdbcType=LONGVARCHAR}
+        </if>
+      </foreach>
+      )
+    </foreach>
+  </insert>
+  <insert id="upsertSelective" parameterType="map">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    insert into consume
+    <choose>
+      <when test="selective != null and selective.length > 0">
+        <foreach close=")" collection="selective" item="column" open="(" separator=",">
+          ${column.escapedColumnName}
+        </foreach>
+      </when>
+      <otherwise>
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+          <if test="record.id != null">
+            id,
+          </if>
+          <if test="record.userId != null">
+            user_id,
+          </if>
+          <if test="record.type != null">
+            type,
+          </if>
+          <if test="record.bookId != null">
+            book_id,
+          </if>
+          <if test="record.bookName != null">
+            book_name,
+          </if>
+          <if test="record.chapterId != null">
+            chapter_id,
+          </if>
+          <if test="record.chapterName != null">
+            chapter_name,
+          </if>
+          <if test="record.kandian != null">
+            kandian,
+          </if>
+          <if test="record.freeKandian != null">
+            free_kandian,
+          </if>
+          <if test="record.extend1 != null">
+            extend1,
+          </if>
+          <if test="record.extend2 != null">
+            extend2,
+          </if>
+          <if test="record.createtime != null">
+            createtime,
+          </if>
+          <if test="record.updatetime != null">
+            updatetime,
+          </if>
+          <if test="record.businessLine != null">
+            business_line,
+          </if>
+          <if test="record.ddKandian != null">
+            dd_kandian,
+          </if>
+          <if test="record.ddFreeKandian != null">
+            dd_free_kandian,
+          </if>
+          <if test="record.campInfo != null">
+            camp_info,
+          </if>
+          <if test="record.consumeInfo != null">
+            consume_info,
+          </if>
+        </trim>
+        <trim prefix="(" suffix=")" suffixOverrides="," />
+      </otherwise>
+    </choose>
+    values
+    <choose>
+      <when test="selective != null and selective.length > 0">
+        <foreach close=")" collection="selective" item="column" open="(" separator=",">
+          #{record.${column.javaProperty},jdbcType=${column.jdbcType}}
+        </foreach>
+      </when>
+      <otherwise>
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+          <if test="record.id != null">
+            #{record.id,jdbcType=BIGINT},
+          </if>
+          <if test="record.userId != null">
+            #{record.userId,jdbcType=BIGINT},
+          </if>
+          <if test="record.type != null">
+            #{record.type,jdbcType=CHAR},
+          </if>
+          <if test="record.bookId != null">
+            #{record.bookId,jdbcType=BIGINT},
+          </if>
+          <if test="record.bookName != null">
+            #{record.bookName,jdbcType=VARCHAR},
+          </if>
+          <if test="record.chapterId != null">
+            #{record.chapterId,jdbcType=BIGINT},
+          </if>
+          <if test="record.chapterName != null">
+            #{record.chapterName,jdbcType=VARCHAR},
+          </if>
+          <if test="record.kandian != null">
+            #{record.kandian,jdbcType=INTEGER},
+          </if>
+          <if test="record.freeKandian != null">
+            #{record.freeKandian,jdbcType=INTEGER},
+          </if>
+          <if test="record.extend1 != null">
+            #{record.extend1,jdbcType=VARCHAR},
+          </if>
+          <if test="record.extend2 != null">
+            #{record.extend2,jdbcType=VARCHAR},
+          </if>
+          <if test="record.createtime != null">
+            #{record.createtime,jdbcType=INTEGER},
+          </if>
+          <if test="record.updatetime != null">
+            #{record.updatetime,jdbcType=INTEGER},
+          </if>
+          <if test="record.businessLine != null">
+            #{record.businessLine,jdbcType=TINYINT},
+          </if>
+          <if test="record.ddKandian != null">
+            #{record.ddKandian,jdbcType=INTEGER},
+          </if>
+          <if test="record.ddFreeKandian != null">
+            #{record.ddFreeKandian,jdbcType=INTEGER},
+          </if>
+          <if test="record.campInfo != null">
+            #{record.campInfo,jdbcType=LONGVARCHAR},
+          </if>
+          <if test="record.consumeInfo != null">
+            #{record.consumeInfo,jdbcType=LONGVARCHAR},
+          </if>
+        </trim>
+      </otherwise>
+    </choose>
+    on duplicate key update 
+    <choose>
+      <when test="selective != null and selective.length > 0">
+        <foreach collection="selective" item="column" separator=",">
+          ${column.escapedColumnName} = #{record.${column.javaProperty},jdbcType=${column.jdbcType}}
+        </foreach>
+      </when>
+      <otherwise>
+        <trim suffixOverrides=",">
+          <if test="record.id != null">
+            id = #{record.id,jdbcType=BIGINT},
+          </if>
+          <if test="record.userId != null">
+            user_id = #{record.userId,jdbcType=BIGINT},
+          </if>
+          <if test="record.type != null">
+            type = #{record.type,jdbcType=CHAR},
+          </if>
+          <if test="record.bookId != null">
+            book_id = #{record.bookId,jdbcType=BIGINT},
+          </if>
+          <if test="record.bookName != null">
+            book_name = #{record.bookName,jdbcType=VARCHAR},
+          </if>
+          <if test="record.chapterId != null">
+            chapter_id = #{record.chapterId,jdbcType=BIGINT},
+          </if>
+          <if test="record.chapterName != null">
+            chapter_name = #{record.chapterName,jdbcType=VARCHAR},
+          </if>
+          <if test="record.kandian != null">
+            kandian = #{record.kandian,jdbcType=INTEGER},
+          </if>
+          <if test="record.freeKandian != null">
+            free_kandian = #{record.freeKandian,jdbcType=INTEGER},
+          </if>
+          <if test="record.extend1 != null">
+            extend1 = #{record.extend1,jdbcType=VARCHAR},
+          </if>
+          <if test="record.extend2 != null">
+            extend2 = #{record.extend2,jdbcType=VARCHAR},
+          </if>
+          <if test="record.createtime != null">
+            createtime = #{record.createtime,jdbcType=INTEGER},
+          </if>
+          <if test="record.updatetime != null">
+            updatetime = #{record.updatetime,jdbcType=INTEGER},
+          </if>
+          <if test="record.businessLine != null">
+            business_line = #{record.businessLine,jdbcType=TINYINT},
+          </if>
+          <if test="record.ddKandian != null">
+            dd_kandian = #{record.ddKandian,jdbcType=INTEGER},
+          </if>
+          <if test="record.ddFreeKandian != null">
+            dd_free_kandian = #{record.ddFreeKandian,jdbcType=INTEGER},
+          </if>
+          <if test="record.campInfo != null">
+            camp_info = #{record.campInfo,jdbcType=LONGVARCHAR},
+          </if>
+          <if test="record.consumeInfo != null">
+            consume_info = #{record.consumeInfo,jdbcType=LONGVARCHAR},
+          </if>
+        </trim>
+      </otherwise>
+    </choose>
+  </insert>
+  <insert id="upsert" parameterType="com.book.dao.cpsshard.entity.Consume">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    insert into consume
+    (id, user_id, type, book_id, book_name, chapter_id, chapter_name, kandian, free_kandian, 
+      extend1, extend2, createtime, updatetime, business_line, dd_kandian, dd_free_kandian
+      )
+    values
+    (#{id,jdbcType=BIGINT}, #{userId,jdbcType=BIGINT}, #{type,jdbcType=CHAR}, #{bookId,jdbcType=BIGINT}, 
+      #{bookName,jdbcType=VARCHAR}, #{chapterId,jdbcType=BIGINT}, #{chapterName,jdbcType=VARCHAR}, 
+      #{kandian,jdbcType=INTEGER}, #{freeKandian,jdbcType=INTEGER}, #{extend1,jdbcType=VARCHAR}, 
+      #{extend2,jdbcType=VARCHAR}, #{createtime,jdbcType=INTEGER}, #{updatetime,jdbcType=INTEGER}, 
+      #{businessLine,jdbcType=TINYINT}, #{ddKandian,jdbcType=INTEGER}, #{ddFreeKandian,jdbcType=INTEGER}
+      )
+    on duplicate key update 
+    id = #{id,jdbcType=BIGINT}, 
+    user_id = #{userId,jdbcType=BIGINT}, 
+    type = #{type,jdbcType=CHAR}, 
+    book_id = #{bookId,jdbcType=BIGINT}, 
+    book_name = #{bookName,jdbcType=VARCHAR}, 
+    chapter_id = #{chapterId,jdbcType=BIGINT}, 
+    chapter_name = #{chapterName,jdbcType=VARCHAR}, 
+    kandian = #{kandian,jdbcType=INTEGER}, 
+    free_kandian = #{freeKandian,jdbcType=INTEGER}, 
+    extend1 = #{extend1,jdbcType=VARCHAR}, 
+    extend2 = #{extend2,jdbcType=VARCHAR}, 
+    createtime = #{createtime,jdbcType=INTEGER}, 
+    updatetime = #{updatetime,jdbcType=INTEGER}, 
+    business_line = #{businessLine,jdbcType=TINYINT}, 
+    dd_kandian = #{ddKandian,jdbcType=INTEGER}, 
+    dd_free_kandian = #{ddFreeKandian,jdbcType=INTEGER}
+  </insert>
+  <insert id="upsertWithBLOBs" parameterType="com.book.dao.cpsshard.entity.Consume">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    insert into consume
+    (id, user_id, type, book_id, book_name, chapter_id, chapter_name, kandian, free_kandian, 
+      extend1, extend2, createtime, updatetime, business_line, dd_kandian, dd_free_kandian, 
+      camp_info, consume_info)
+    values
+    (#{id,jdbcType=BIGINT}, #{userId,jdbcType=BIGINT}, #{type,jdbcType=CHAR}, #{bookId,jdbcType=BIGINT}, 
+      #{bookName,jdbcType=VARCHAR}, #{chapterId,jdbcType=BIGINT}, #{chapterName,jdbcType=VARCHAR}, 
+      #{kandian,jdbcType=INTEGER}, #{freeKandian,jdbcType=INTEGER}, #{extend1,jdbcType=VARCHAR}, 
+      #{extend2,jdbcType=VARCHAR}, #{createtime,jdbcType=INTEGER}, #{updatetime,jdbcType=INTEGER}, 
+      #{businessLine,jdbcType=TINYINT}, #{ddKandian,jdbcType=INTEGER}, #{ddFreeKandian,jdbcType=INTEGER}, 
+      #{campInfo,jdbcType=LONGVARCHAR}, #{consumeInfo,jdbcType=LONGVARCHAR})
+    on duplicate key update 
+    id = #{id,jdbcType=BIGINT}, 
+    user_id = #{userId,jdbcType=BIGINT}, 
+    type = #{type,jdbcType=CHAR}, 
+    book_id = #{bookId,jdbcType=BIGINT}, 
+    book_name = #{bookName,jdbcType=VARCHAR}, 
+    chapter_id = #{chapterId,jdbcType=BIGINT}, 
+    chapter_name = #{chapterName,jdbcType=VARCHAR}, 
+    kandian = #{kandian,jdbcType=INTEGER}, 
+    free_kandian = #{freeKandian,jdbcType=INTEGER}, 
+    extend1 = #{extend1,jdbcType=VARCHAR}, 
+    extend2 = #{extend2,jdbcType=VARCHAR}, 
+    createtime = #{createtime,jdbcType=INTEGER}, 
+    updatetime = #{updatetime,jdbcType=INTEGER}, 
+    business_line = #{businessLine,jdbcType=TINYINT}, 
+    dd_kandian = #{ddKandian,jdbcType=INTEGER}, 
+    dd_free_kandian = #{ddFreeKandian,jdbcType=INTEGER}, 
+    camp_info = #{campInfo,jdbcType=LONGVARCHAR}, 
+    consume_info = #{consumeInfo,jdbcType=LONGVARCHAR}
+  </insert>
+</mapper>

+ 855 - 0
book-dao/src/main/resources/mapper/cpsshard/RechargeMapper.xml

@@ -0,0 +1,855 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.book.dao.cpsshard.mapper.RechargeMapper">
+  <resultMap id="BaseResultMap" type="com.book.dao.cpsshard.entity.Recharge">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    <id column="id" jdbcType="BIGINT" property="id" />
+    <result column="user_id" jdbcType="BIGINT" property="userId" />
+    <result column="type" jdbcType="CHAR" property="type" />
+    <result column="kandian" jdbcType="INTEGER" property="kandian" />
+    <result column="free_kandian" jdbcType="INTEGER" property="freeKandian" />
+    <result column="remain_free_kandian" jdbcType="INTEGER" property="remainFreeKandian" />
+    <result column="free_endtime" jdbcType="INTEGER" property="freeEndtime" />
+    <result column="day" jdbcType="INTEGER" property="day" />
+    <result column="hour" jdbcType="TINYINT" property="hour" />
+    <result column="book_id" jdbcType="BIGINT" property="bookId" />
+    <result column="createtime" jdbcType="INTEGER" property="createtime" />
+    <result column="updatetime" jdbcType="INTEGER" property="updatetime" />
+    <result column="notes" jdbcType="VARCHAR" property="notes" />
+    <result column="edit_type" jdbcType="CHAR" property="editType" />
+  </resultMap>
+  <sql id="Example_Where_Clause">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    <where>
+      <foreach collection="oredCriteria" item="criteria" separator="or">
+        <if test="criteria.valid">
+          <trim prefix="(" prefixOverrides="and" suffix=")">
+            <foreach collection="criteria.criteria" item="criterion">
+              <choose>
+                <when test="criterion.noValue">
+                  and ${criterion.condition}
+                </when>
+                <when test="criterion.singleValue">
+                  and ${criterion.condition} #{criterion.value}
+                </when>
+                <when test="criterion.betweenValue">
+                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+                </when>
+                <when test="criterion.listValue">
+                  and ${criterion.condition}
+                  <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
+                    #{listItem}
+                  </foreach>
+                </when>
+              </choose>
+            </foreach>
+          </trim>
+        </if>
+      </foreach>
+    </where>
+  </sql>
+  <sql id="Update_By_Example_Where_Clause">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    <where>
+      <foreach collection="example.oredCriteria" item="criteria" separator="or">
+        <if test="criteria.valid">
+          <trim prefix="(" prefixOverrides="and" suffix=")">
+            <foreach collection="criteria.criteria" item="criterion">
+              <choose>
+                <when test="criterion.noValue">
+                  and ${criterion.condition}
+                </when>
+                <when test="criterion.singleValue">
+                  and ${criterion.condition} #{criterion.value}
+                </when>
+                <when test="criterion.betweenValue">
+                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+                </when>
+                <when test="criterion.listValue">
+                  and ${criterion.condition}
+                  <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
+                    #{listItem}
+                  </foreach>
+                </when>
+              </choose>
+            </foreach>
+          </trim>
+        </if>
+      </foreach>
+    </where>
+  </sql>
+  <sql id="Base_Column_List">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    id, user_id, type, kandian, free_kandian, remain_free_kandian, free_endtime, day, 
+    hour, book_id, createtime, updatetime, notes, edit_type
+  </sql>
+  <select id="selectByExample" parameterType="com.book.dao.cpsshard.pojo.example.RechargeExample" resultMap="BaseResultMap">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    select
+    <if test="distinct">
+      distinct
+    </if>
+    <include refid="Base_Column_List" />
+    from recharge
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+    <if test="orderByClause != null">
+      order by ${orderByClause}
+    </if>
+    <if test="rows != null">
+      <if test="offset != null">
+        limit ${offset}, ${rows}
+      </if>
+      <if test="offset == null">
+        limit ${rows}
+      </if>
+    </if>
+  </select>
+  <select id="selectByExampleSelective" parameterType="map" resultMap="BaseResultMap">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    select
+    <if test="example != null and example.distinct">
+      distinct
+    </if>
+    <choose>
+      <when test="selective != null and selective.length > 0">
+        <foreach collection="selective" item="column" separator=",">
+          ${column.aliasedEscapedColumnName}
+        </foreach>
+      </when>
+      <otherwise>
+        <include refid="Base_Column_List" />
+      </otherwise>
+    </choose>
+    from recharge
+    <if test="example != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+    <if test="example != null and example.orderByClause != null">
+      order by ${example.orderByClause}
+    </if>
+    <if test="example != null and example.rows != null">
+      <if test="example.offset != null">
+        limit ${example.offset}, ${example.rows}
+      </if>
+      <if test="example.offset == null">
+        limit ${example.rows}
+      </if>
+    </if>
+  </select>
+  <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    select 
+    <include refid="Base_Column_List" />
+    from recharge
+    where id = #{id,jdbcType=BIGINT}
+  </select>
+  <select id="selectByPrimaryKeySelective" parameterType="map" resultMap="BaseResultMap">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    select
+    <choose>
+      <when test="selective != null and selective.length > 0">
+        <foreach collection="selective" item="column" separator=",">
+          ${column.aliasedEscapedColumnName}
+        </foreach>
+      </when>
+      <otherwise>
+        <include refid="Base_Column_List" />
+      </otherwise>
+    </choose>
+    from recharge
+    where id = #{id,jdbcType=BIGINT}
+  </select>
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    delete from recharge
+    where id = #{id,jdbcType=BIGINT}
+  </delete>
+  <delete id="deleteByExample" parameterType="com.book.dao.cpsshard.pojo.example.RechargeExample">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    delete from recharge
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+  </delete>
+  <insert id="insert" parameterType="com.book.dao.cpsshard.entity.Recharge">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    insert into recharge (id, user_id, type, 
+      kandian, free_kandian, remain_free_kandian, 
+      free_endtime, day, hour, 
+      book_id, createtime, updatetime, 
+      notes, edit_type)
+    values (#{id,jdbcType=BIGINT}, #{userId,jdbcType=BIGINT}, #{type,jdbcType=CHAR}, 
+      #{kandian,jdbcType=INTEGER}, #{freeKandian,jdbcType=INTEGER}, #{remainFreeKandian,jdbcType=INTEGER}, 
+      #{freeEndtime,jdbcType=INTEGER}, #{day,jdbcType=INTEGER}, #{hour,jdbcType=TINYINT}, 
+      #{bookId,jdbcType=BIGINT}, #{createtime,jdbcType=INTEGER}, #{updatetime,jdbcType=INTEGER}, 
+      #{notes,jdbcType=VARCHAR}, #{editType,jdbcType=CHAR})
+  </insert>
+  <insert id="insertSelective" parameterType="map">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    insert into recharge
+    <choose>
+      <when test="selective != null and selective.length > 0">
+        <foreach close=")" collection="selective" item="column" open="(" separator=",">
+          ${column.escapedColumnName}
+        </foreach>
+      </when>
+      <otherwise>
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+          <if test="record.id != null">
+            id,
+          </if>
+          <if test="record.userId != null">
+            user_id,
+          </if>
+          <if test="record.type != null">
+            type,
+          </if>
+          <if test="record.kandian != null">
+            kandian,
+          </if>
+          <if test="record.freeKandian != null">
+            free_kandian,
+          </if>
+          <if test="record.remainFreeKandian != null">
+            remain_free_kandian,
+          </if>
+          <if test="record.freeEndtime != null">
+            free_endtime,
+          </if>
+          <if test="record.day != null">
+            day,
+          </if>
+          <if test="record.hour != null">
+            hour,
+          </if>
+          <if test="record.bookId != null">
+            book_id,
+          </if>
+          <if test="record.createtime != null">
+            createtime,
+          </if>
+          <if test="record.updatetime != null">
+            updatetime,
+          </if>
+          <if test="record.notes != null">
+            notes,
+          </if>
+          <if test="record.editType != null">
+            edit_type,
+          </if>
+        </trim>
+        <trim prefix="(" suffix=")" suffixOverrides="," />
+      </otherwise>
+    </choose>
+    values
+    <choose>
+      <when test="selective != null and selective.length > 0">
+        <foreach close=")" collection="selective" item="column" open="(" separator=",">
+          #{record.${column.javaProperty},jdbcType=${column.jdbcType}}
+        </foreach>
+      </when>
+      <otherwise>
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+          <if test="record.id != null">
+            #{record.id,jdbcType=BIGINT},
+          </if>
+          <if test="record.userId != null">
+            #{record.userId,jdbcType=BIGINT},
+          </if>
+          <if test="record.type != null">
+            #{record.type,jdbcType=CHAR},
+          </if>
+          <if test="record.kandian != null">
+            #{record.kandian,jdbcType=INTEGER},
+          </if>
+          <if test="record.freeKandian != null">
+            #{record.freeKandian,jdbcType=INTEGER},
+          </if>
+          <if test="record.remainFreeKandian != null">
+            #{record.remainFreeKandian,jdbcType=INTEGER},
+          </if>
+          <if test="record.freeEndtime != null">
+            #{record.freeEndtime,jdbcType=INTEGER},
+          </if>
+          <if test="record.day != null">
+            #{record.day,jdbcType=INTEGER},
+          </if>
+          <if test="record.hour != null">
+            #{record.hour,jdbcType=TINYINT},
+          </if>
+          <if test="record.bookId != null">
+            #{record.bookId,jdbcType=BIGINT},
+          </if>
+          <if test="record.createtime != null">
+            #{record.createtime,jdbcType=INTEGER},
+          </if>
+          <if test="record.updatetime != null">
+            #{record.updatetime,jdbcType=INTEGER},
+          </if>
+          <if test="record.notes != null">
+            #{record.notes,jdbcType=VARCHAR},
+          </if>
+          <if test="record.editType != null">
+            #{record.editType,jdbcType=CHAR},
+          </if>
+        </trim>
+      </otherwise>
+    </choose>
+  </insert>
+  <select id="countByExample" parameterType="com.book.dao.cpsshard.pojo.example.RechargeExample" resultType="java.lang.Long">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    select count(*) from recharge
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+  </select>
+  <update id="updateByExampleSelective" parameterType="map">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    update recharge
+    SET
+    <choose>
+      <when test="selective != null and selective.length > 0">
+        <foreach collection="selective" item="column" separator=",">
+          ${column.escapedColumnName} = #{record.${column.javaProperty},jdbcType=${column.jdbcType}}
+        </foreach>
+      </when>
+      <otherwise>
+        <trim suffixOverrides=",">
+          <if test="record.id != null">
+            id = #{record.id,jdbcType=BIGINT},
+          </if>
+          <if test="record.userId != null">
+            user_id = #{record.userId,jdbcType=BIGINT},
+          </if>
+          <if test="record.type != null">
+            type = #{record.type,jdbcType=CHAR},
+          </if>
+          <if test="record.kandian != null">
+            kandian = #{record.kandian,jdbcType=INTEGER},
+          </if>
+          <if test="record.freeKandian != null">
+            free_kandian = #{record.freeKandian,jdbcType=INTEGER},
+          </if>
+          <if test="record.remainFreeKandian != null">
+            remain_free_kandian = #{record.remainFreeKandian,jdbcType=INTEGER},
+          </if>
+          <if test="record.freeEndtime != null">
+            free_endtime = #{record.freeEndtime,jdbcType=INTEGER},
+          </if>
+          <if test="record.day != null">
+            day = #{record.day,jdbcType=INTEGER},
+          </if>
+          <if test="record.hour != null">
+            hour = #{record.hour,jdbcType=TINYINT},
+          </if>
+          <if test="record.bookId != null">
+            book_id = #{record.bookId,jdbcType=BIGINT},
+          </if>
+          <if test="record.createtime != null">
+            createtime = #{record.createtime,jdbcType=INTEGER},
+          </if>
+          <if test="record.updatetime != null">
+            updatetime = #{record.updatetime,jdbcType=INTEGER},
+          </if>
+          <if test="record.notes != null">
+            notes = #{record.notes,jdbcType=VARCHAR},
+          </if>
+          <if test="record.editType != null">
+            edit_type = #{record.editType,jdbcType=CHAR},
+          </if>
+        </trim>
+      </otherwise>
+    </choose>
+    <if test="_parameter != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+  </update>
+  <update id="updateByExample" parameterType="map">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    update recharge
+    set id = #{record.id,jdbcType=BIGINT},
+      user_id = #{record.userId,jdbcType=BIGINT},
+      type = #{record.type,jdbcType=CHAR},
+      kandian = #{record.kandian,jdbcType=INTEGER},
+      free_kandian = #{record.freeKandian,jdbcType=INTEGER},
+      remain_free_kandian = #{record.remainFreeKandian,jdbcType=INTEGER},
+      free_endtime = #{record.freeEndtime,jdbcType=INTEGER},
+      day = #{record.day,jdbcType=INTEGER},
+      hour = #{record.hour,jdbcType=TINYINT},
+      book_id = #{record.bookId,jdbcType=BIGINT},
+      createtime = #{record.createtime,jdbcType=INTEGER},
+      updatetime = #{record.updatetime,jdbcType=INTEGER},
+      notes = #{record.notes,jdbcType=VARCHAR},
+      edit_type = #{record.editType,jdbcType=CHAR}
+    <if test="_parameter != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+  </update>
+  <update id="updateByPrimaryKeySelective" parameterType="map">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    update recharge
+    SET
+    <choose>
+      <when test="selective != null and selective.length > 0">
+        <foreach collection="selective" item="column" separator=",">
+          ${column.escapedColumnName} = #{record.${column.javaProperty},jdbcType=${column.jdbcType}}
+        </foreach>
+      </when>
+      <otherwise>
+        <trim suffixOverrides=",">
+          <if test="record.userId != null">
+            user_id = #{record.userId,jdbcType=BIGINT},
+          </if>
+          <if test="record.type != null">
+            type = #{record.type,jdbcType=CHAR},
+          </if>
+          <if test="record.kandian != null">
+            kandian = #{record.kandian,jdbcType=INTEGER},
+          </if>
+          <if test="record.freeKandian != null">
+            free_kandian = #{record.freeKandian,jdbcType=INTEGER},
+          </if>
+          <if test="record.remainFreeKandian != null">
+            remain_free_kandian = #{record.remainFreeKandian,jdbcType=INTEGER},
+          </if>
+          <if test="record.freeEndtime != null">
+            free_endtime = #{record.freeEndtime,jdbcType=INTEGER},
+          </if>
+          <if test="record.day != null">
+            day = #{record.day,jdbcType=INTEGER},
+          </if>
+          <if test="record.hour != null">
+            hour = #{record.hour,jdbcType=TINYINT},
+          </if>
+          <if test="record.bookId != null">
+            book_id = #{record.bookId,jdbcType=BIGINT},
+          </if>
+          <if test="record.createtime != null">
+            createtime = #{record.createtime,jdbcType=INTEGER},
+          </if>
+          <if test="record.updatetime != null">
+            updatetime = #{record.updatetime,jdbcType=INTEGER},
+          </if>
+          <if test="record.notes != null">
+            notes = #{record.notes,jdbcType=VARCHAR},
+          </if>
+          <if test="record.editType != null">
+            edit_type = #{record.editType,jdbcType=CHAR},
+          </if>
+        </trim>
+      </otherwise>
+    </choose>
+    where id = #{record.id,jdbcType=BIGINT}
+  </update>
+  <update id="updateByPrimaryKey" parameterType="com.book.dao.cpsshard.entity.Recharge">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    update recharge
+    set user_id = #{userId,jdbcType=BIGINT},
+      type = #{type,jdbcType=CHAR},
+      kandian = #{kandian,jdbcType=INTEGER},
+      free_kandian = #{freeKandian,jdbcType=INTEGER},
+      remain_free_kandian = #{remainFreeKandian,jdbcType=INTEGER},
+      free_endtime = #{freeEndtime,jdbcType=INTEGER},
+      day = #{day,jdbcType=INTEGER},
+      hour = #{hour,jdbcType=TINYINT},
+      book_id = #{bookId,jdbcType=BIGINT},
+      createtime = #{createtime,jdbcType=INTEGER},
+      updatetime = #{updatetime,jdbcType=INTEGER},
+      notes = #{notes,jdbcType=VARCHAR},
+      edit_type = #{editType,jdbcType=CHAR}
+    where id = #{id,jdbcType=BIGINT}
+  </update>
+  <select id="selectOneByExample" parameterType="com.book.dao.cpsshard.pojo.example.RechargeExample" resultMap="BaseResultMap">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    select
+    <include refid="Base_Column_List" />
+    from recharge
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+    <if test="orderByClause != null">
+      order by ${orderByClause}
+    </if>
+    limit 1
+  </select>
+  <select id="selectOneByExampleSelective" parameterType="map" resultMap="BaseResultMap">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    select
+    <choose>
+      <when test="selective != null and selective.length > 0">
+        <foreach collection="selective" item="column" separator=",">
+          ${column.aliasedEscapedColumnName}
+        </foreach>
+      </when>
+      <otherwise>
+        <include refid="Base_Column_List" />
+      </otherwise>
+    </choose>
+    from recharge
+    <if test="example != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+    <if test="example != null and example.orderByClause != null">
+      order by ${example.orderByClause}
+    </if>
+    limit 1
+  </select>
+  <insert id="batchInsert" parameterType="map">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    insert into recharge
+    (id, user_id, type, kandian, free_kandian, remain_free_kandian, free_endtime, day, 
+      hour, book_id, createtime, updatetime, notes, edit_type)
+    values
+    <foreach collection="list" item="item" separator=",">
+      (#{item.id,jdbcType=BIGINT}, #{item.userId,jdbcType=BIGINT}, #{item.type,jdbcType=CHAR}, 
+        #{item.kandian,jdbcType=INTEGER}, #{item.freeKandian,jdbcType=INTEGER}, #{item.remainFreeKandian,jdbcType=INTEGER}, 
+        #{item.freeEndtime,jdbcType=INTEGER}, #{item.day,jdbcType=INTEGER}, #{item.hour,jdbcType=TINYINT}, 
+        #{item.bookId,jdbcType=BIGINT}, #{item.createtime,jdbcType=INTEGER}, #{item.updatetime,jdbcType=INTEGER}, 
+        #{item.notes,jdbcType=VARCHAR}, #{item.editType,jdbcType=CHAR})
+    </foreach>
+  </insert>
+  <insert id="batchInsertSelective" parameterType="map">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    insert into recharge (
+    <foreach collection="selective" item="column" separator=",">
+      ${column.escapedColumnName}
+    </foreach>
+    )
+    values
+    <foreach collection="list" item="item" separator=",">
+      (
+      <foreach collection="selective" item="column" separator=",">
+        <if test="'id'.toString() == column.value">
+          #{item.id,jdbcType=BIGINT}
+        </if>
+        <if test="'user_id'.toString() == column.value">
+          #{item.userId,jdbcType=BIGINT}
+        </if>
+        <if test="'type'.toString() == column.value">
+          #{item.type,jdbcType=CHAR}
+        </if>
+        <if test="'kandian'.toString() == column.value">
+          #{item.kandian,jdbcType=INTEGER}
+        </if>
+        <if test="'free_kandian'.toString() == column.value">
+          #{item.freeKandian,jdbcType=INTEGER}
+        </if>
+        <if test="'remain_free_kandian'.toString() == column.value">
+          #{item.remainFreeKandian,jdbcType=INTEGER}
+        </if>
+        <if test="'free_endtime'.toString() == column.value">
+          #{item.freeEndtime,jdbcType=INTEGER}
+        </if>
+        <if test="'day'.toString() == column.value">
+          #{item.day,jdbcType=INTEGER}
+        </if>
+        <if test="'hour'.toString() == column.value">
+          #{item.hour,jdbcType=TINYINT}
+        </if>
+        <if test="'book_id'.toString() == column.value">
+          #{item.bookId,jdbcType=BIGINT}
+        </if>
+        <if test="'createtime'.toString() == column.value">
+          #{item.createtime,jdbcType=INTEGER}
+        </if>
+        <if test="'updatetime'.toString() == column.value">
+          #{item.updatetime,jdbcType=INTEGER}
+        </if>
+        <if test="'notes'.toString() == column.value">
+          #{item.notes,jdbcType=VARCHAR}
+        </if>
+        <if test="'edit_type'.toString() == column.value">
+          #{item.editType,jdbcType=CHAR}
+        </if>
+      </foreach>
+      )
+    </foreach>
+  </insert>
+  <insert id="upsertSelective" parameterType="map">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    insert into recharge
+    <choose>
+      <when test="selective != null and selective.length > 0">
+        <foreach close=")" collection="selective" item="column" open="(" separator=",">
+          ${column.escapedColumnName}
+        </foreach>
+      </when>
+      <otherwise>
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+          <if test="record.id != null">
+            id,
+          </if>
+          <if test="record.userId != null">
+            user_id,
+          </if>
+          <if test="record.type != null">
+            type,
+          </if>
+          <if test="record.kandian != null">
+            kandian,
+          </if>
+          <if test="record.freeKandian != null">
+            free_kandian,
+          </if>
+          <if test="record.remainFreeKandian != null">
+            remain_free_kandian,
+          </if>
+          <if test="record.freeEndtime != null">
+            free_endtime,
+          </if>
+          <if test="record.day != null">
+            day,
+          </if>
+          <if test="record.hour != null">
+            hour,
+          </if>
+          <if test="record.bookId != null">
+            book_id,
+          </if>
+          <if test="record.createtime != null">
+            createtime,
+          </if>
+          <if test="record.updatetime != null">
+            updatetime,
+          </if>
+          <if test="record.notes != null">
+            notes,
+          </if>
+          <if test="record.editType != null">
+            edit_type,
+          </if>
+        </trim>
+        <trim prefix="(" suffix=")" suffixOverrides="," />
+      </otherwise>
+    </choose>
+    values
+    <choose>
+      <when test="selective != null and selective.length > 0">
+        <foreach close=")" collection="selective" item="column" open="(" separator=",">
+          #{record.${column.javaProperty},jdbcType=${column.jdbcType}}
+        </foreach>
+      </when>
+      <otherwise>
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+          <if test="record.id != null">
+            #{record.id,jdbcType=BIGINT},
+          </if>
+          <if test="record.userId != null">
+            #{record.userId,jdbcType=BIGINT},
+          </if>
+          <if test="record.type != null">
+            #{record.type,jdbcType=CHAR},
+          </if>
+          <if test="record.kandian != null">
+            #{record.kandian,jdbcType=INTEGER},
+          </if>
+          <if test="record.freeKandian != null">
+            #{record.freeKandian,jdbcType=INTEGER},
+          </if>
+          <if test="record.remainFreeKandian != null">
+            #{record.remainFreeKandian,jdbcType=INTEGER},
+          </if>
+          <if test="record.freeEndtime != null">
+            #{record.freeEndtime,jdbcType=INTEGER},
+          </if>
+          <if test="record.day != null">
+            #{record.day,jdbcType=INTEGER},
+          </if>
+          <if test="record.hour != null">
+            #{record.hour,jdbcType=TINYINT},
+          </if>
+          <if test="record.bookId != null">
+            #{record.bookId,jdbcType=BIGINT},
+          </if>
+          <if test="record.createtime != null">
+            #{record.createtime,jdbcType=INTEGER},
+          </if>
+          <if test="record.updatetime != null">
+            #{record.updatetime,jdbcType=INTEGER},
+          </if>
+          <if test="record.notes != null">
+            #{record.notes,jdbcType=VARCHAR},
+          </if>
+          <if test="record.editType != null">
+            #{record.editType,jdbcType=CHAR},
+          </if>
+        </trim>
+      </otherwise>
+    </choose>
+    on duplicate key update 
+    <choose>
+      <when test="selective != null and selective.length > 0">
+        <foreach collection="selective" item="column" separator=",">
+          ${column.escapedColumnName} = #{record.${column.javaProperty},jdbcType=${column.jdbcType}}
+        </foreach>
+      </when>
+      <otherwise>
+        <trim suffixOverrides=",">
+          <if test="record.id != null">
+            id = #{record.id,jdbcType=BIGINT},
+          </if>
+          <if test="record.userId != null">
+            user_id = #{record.userId,jdbcType=BIGINT},
+          </if>
+          <if test="record.type != null">
+            type = #{record.type,jdbcType=CHAR},
+          </if>
+          <if test="record.kandian != null">
+            kandian = #{record.kandian,jdbcType=INTEGER},
+          </if>
+          <if test="record.freeKandian != null">
+            free_kandian = #{record.freeKandian,jdbcType=INTEGER},
+          </if>
+          <if test="record.remainFreeKandian != null">
+            remain_free_kandian = #{record.remainFreeKandian,jdbcType=INTEGER},
+          </if>
+          <if test="record.freeEndtime != null">
+            free_endtime = #{record.freeEndtime,jdbcType=INTEGER},
+          </if>
+          <if test="record.day != null">
+            day = #{record.day,jdbcType=INTEGER},
+          </if>
+          <if test="record.hour != null">
+            hour = #{record.hour,jdbcType=TINYINT},
+          </if>
+          <if test="record.bookId != null">
+            book_id = #{record.bookId,jdbcType=BIGINT},
+          </if>
+          <if test="record.createtime != null">
+            createtime = #{record.createtime,jdbcType=INTEGER},
+          </if>
+          <if test="record.updatetime != null">
+            updatetime = #{record.updatetime,jdbcType=INTEGER},
+          </if>
+          <if test="record.notes != null">
+            notes = #{record.notes,jdbcType=VARCHAR},
+          </if>
+          <if test="record.editType != null">
+            edit_type = #{record.editType,jdbcType=CHAR},
+          </if>
+        </trim>
+      </otherwise>
+    </choose>
+  </insert>
+  <insert id="upsert" parameterType="com.book.dao.cpsshard.entity.Recharge">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    insert into recharge
+    (id, user_id, type, kandian, free_kandian, remain_free_kandian, free_endtime, day, 
+      hour, book_id, createtime, updatetime, notes, edit_type)
+    values
+    (#{id,jdbcType=BIGINT}, #{userId,jdbcType=BIGINT}, #{type,jdbcType=CHAR}, #{kandian,jdbcType=INTEGER}, 
+      #{freeKandian,jdbcType=INTEGER}, #{remainFreeKandian,jdbcType=INTEGER}, #{freeEndtime,jdbcType=INTEGER}, 
+      #{day,jdbcType=INTEGER}, #{hour,jdbcType=TINYINT}, #{bookId,jdbcType=BIGINT}, #{createtime,jdbcType=INTEGER}, 
+      #{updatetime,jdbcType=INTEGER}, #{notes,jdbcType=VARCHAR}, #{editType,jdbcType=CHAR}
+      )
+    on duplicate key update 
+    id = #{id,jdbcType=BIGINT}, 
+    user_id = #{userId,jdbcType=BIGINT}, 
+    type = #{type,jdbcType=CHAR}, 
+    kandian = #{kandian,jdbcType=INTEGER}, 
+    free_kandian = #{freeKandian,jdbcType=INTEGER}, 
+    remain_free_kandian = #{remainFreeKandian,jdbcType=INTEGER}, 
+    free_endtime = #{freeEndtime,jdbcType=INTEGER}, 
+    day = #{day,jdbcType=INTEGER}, 
+    hour = #{hour,jdbcType=TINYINT}, 
+    book_id = #{bookId,jdbcType=BIGINT}, 
+    createtime = #{createtime,jdbcType=INTEGER}, 
+    updatetime = #{updatetime,jdbcType=INTEGER}, 
+    notes = #{notes,jdbcType=VARCHAR}, 
+    edit_type = #{editType,jdbcType=CHAR}
+  </insert>
+</mapper>

+ 619 - 0
book-dao/src/main/resources/mapper/cpsshard/SignMapper.xml

@@ -0,0 +1,619 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.book.dao.cpsshard.mapper.SignMapper">
+  <resultMap id="BaseResultMap" type="com.book.dao.cpsshard.entity.Sign">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    <id column="id" jdbcType="INTEGER" property="id" />
+    <result column="uid" jdbcType="INTEGER" property="uid" />
+    <result column="kandian" jdbcType="INTEGER" property="kandian" />
+    <result column="days" jdbcType="TINYINT" property="days" />
+    <result column="createdate" jdbcType="INTEGER" property="createdate" />
+    <result column="createtime" jdbcType="INTEGER" property="createtime" />
+  </resultMap>
+  <sql id="Example_Where_Clause">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    <where>
+      <foreach collection="oredCriteria" item="criteria" separator="or">
+        <if test="criteria.valid">
+          <trim prefix="(" prefixOverrides="and" suffix=")">
+            <foreach collection="criteria.criteria" item="criterion">
+              <choose>
+                <when test="criterion.noValue">
+                  and ${criterion.condition}
+                </when>
+                <when test="criterion.singleValue">
+                  and ${criterion.condition} #{criterion.value}
+                </when>
+                <when test="criterion.betweenValue">
+                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+                </when>
+                <when test="criterion.listValue">
+                  and ${criterion.condition}
+                  <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
+                    #{listItem}
+                  </foreach>
+                </when>
+              </choose>
+            </foreach>
+          </trim>
+        </if>
+      </foreach>
+    </where>
+  </sql>
+  <sql id="Update_By_Example_Where_Clause">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    <where>
+      <foreach collection="example.oredCriteria" item="criteria" separator="or">
+        <if test="criteria.valid">
+          <trim prefix="(" prefixOverrides="and" suffix=")">
+            <foreach collection="criteria.criteria" item="criterion">
+              <choose>
+                <when test="criterion.noValue">
+                  and ${criterion.condition}
+                </when>
+                <when test="criterion.singleValue">
+                  and ${criterion.condition} #{criterion.value}
+                </when>
+                <when test="criterion.betweenValue">
+                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+                </when>
+                <when test="criterion.listValue">
+                  and ${criterion.condition}
+                  <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
+                    #{listItem}
+                  </foreach>
+                </when>
+              </choose>
+            </foreach>
+          </trim>
+        </if>
+      </foreach>
+    </where>
+  </sql>
+  <sql id="Base_Column_List">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    id, uid, kandian, days, createdate, createtime
+  </sql>
+  <select id="selectByExample" parameterType="com.book.dao.cpsshard.pojo.example.SignExample" resultMap="BaseResultMap">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    select
+    <if test="distinct">
+      distinct
+    </if>
+    <include refid="Base_Column_List" />
+    from sign
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+    <if test="orderByClause != null">
+      order by ${orderByClause}
+    </if>
+    <if test="rows != null">
+      <if test="offset != null">
+        limit ${offset}, ${rows}
+      </if>
+      <if test="offset == null">
+        limit ${rows}
+      </if>
+    </if>
+  </select>
+  <select id="selectByExampleSelective" parameterType="map" resultMap="BaseResultMap">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    select
+    <if test="example != null and example.distinct">
+      distinct
+    </if>
+    <choose>
+      <when test="selective != null and selective.length > 0">
+        <foreach collection="selective" item="column" separator=",">
+          ${column.aliasedEscapedColumnName}
+        </foreach>
+      </when>
+      <otherwise>
+        <include refid="Base_Column_List" />
+      </otherwise>
+    </choose>
+    from sign
+    <if test="example != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+    <if test="example != null and example.orderByClause != null">
+      order by ${example.orderByClause}
+    </if>
+    <if test="example != null and example.rows != null">
+      <if test="example.offset != null">
+        limit ${example.offset}, ${example.rows}
+      </if>
+      <if test="example.offset == null">
+        limit ${example.rows}
+      </if>
+    </if>
+  </select>
+  <select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    select 
+    <include refid="Base_Column_List" />
+    from sign
+    where id = #{id,jdbcType=INTEGER}
+  </select>
+  <select id="selectByPrimaryKeySelective" parameterType="map" resultMap="BaseResultMap">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    select
+    <choose>
+      <when test="selective != null and selective.length > 0">
+        <foreach collection="selective" item="column" separator=",">
+          ${column.aliasedEscapedColumnName}
+        </foreach>
+      </when>
+      <otherwise>
+        <include refid="Base_Column_List" />
+      </otherwise>
+    </choose>
+    from sign
+    where id = #{id,jdbcType=INTEGER}
+  </select>
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    delete from sign
+    where id = #{id,jdbcType=INTEGER}
+  </delete>
+  <delete id="deleteByExample" parameterType="com.book.dao.cpsshard.pojo.example.SignExample">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    delete from sign
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+  </delete>
+  <insert id="insert" parameterType="com.book.dao.cpsshard.entity.Sign">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    insert into sign (id, uid, kandian, 
+      days, createdate, createtime
+      )
+    values (#{id,jdbcType=INTEGER}, #{uid,jdbcType=INTEGER}, #{kandian,jdbcType=INTEGER}, 
+      #{days,jdbcType=TINYINT}, #{createdate,jdbcType=INTEGER}, #{createtime,jdbcType=INTEGER}
+      )
+  </insert>
+  <insert id="insertSelective" parameterType="map">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    insert into sign
+    <choose>
+      <when test="selective != null and selective.length > 0">
+        <foreach close=")" collection="selective" item="column" open="(" separator=",">
+          ${column.escapedColumnName}
+        </foreach>
+      </when>
+      <otherwise>
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+          <if test="record.id != null">
+            id,
+          </if>
+          <if test="record.uid != null">
+            uid,
+          </if>
+          <if test="record.kandian != null">
+            kandian,
+          </if>
+          <if test="record.days != null">
+            days,
+          </if>
+          <if test="record.createdate != null">
+            createdate,
+          </if>
+          <if test="record.createtime != null">
+            createtime,
+          </if>
+        </trim>
+        <trim prefix="(" suffix=")" suffixOverrides="," />
+      </otherwise>
+    </choose>
+    values
+    <choose>
+      <when test="selective != null and selective.length > 0">
+        <foreach close=")" collection="selective" item="column" open="(" separator=",">
+          #{record.${column.javaProperty},jdbcType=${column.jdbcType}}
+        </foreach>
+      </when>
+      <otherwise>
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+          <if test="record.id != null">
+            #{record.id,jdbcType=INTEGER},
+          </if>
+          <if test="record.uid != null">
+            #{record.uid,jdbcType=INTEGER},
+          </if>
+          <if test="record.kandian != null">
+            #{record.kandian,jdbcType=INTEGER},
+          </if>
+          <if test="record.days != null">
+            #{record.days,jdbcType=TINYINT},
+          </if>
+          <if test="record.createdate != null">
+            #{record.createdate,jdbcType=INTEGER},
+          </if>
+          <if test="record.createtime != null">
+            #{record.createtime,jdbcType=INTEGER},
+          </if>
+        </trim>
+      </otherwise>
+    </choose>
+  </insert>
+  <select id="countByExample" parameterType="com.book.dao.cpsshard.pojo.example.SignExample" resultType="java.lang.Long">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    select count(*) from sign
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+  </select>
+  <update id="updateByExampleSelective" parameterType="map">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    update sign
+    SET
+    <choose>
+      <when test="selective != null and selective.length > 0">
+        <foreach collection="selective" item="column" separator=",">
+          ${column.escapedColumnName} = #{record.${column.javaProperty},jdbcType=${column.jdbcType}}
+        </foreach>
+      </when>
+      <otherwise>
+        <trim suffixOverrides=",">
+          <if test="record.id != null">
+            id = #{record.id,jdbcType=INTEGER},
+          </if>
+          <if test="record.uid != null">
+            uid = #{record.uid,jdbcType=INTEGER},
+          </if>
+          <if test="record.kandian != null">
+            kandian = #{record.kandian,jdbcType=INTEGER},
+          </if>
+          <if test="record.days != null">
+            days = #{record.days,jdbcType=TINYINT},
+          </if>
+          <if test="record.createdate != null">
+            createdate = #{record.createdate,jdbcType=INTEGER},
+          </if>
+          <if test="record.createtime != null">
+            createtime = #{record.createtime,jdbcType=INTEGER},
+          </if>
+        </trim>
+      </otherwise>
+    </choose>
+    <if test="_parameter != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+  </update>
+  <update id="updateByExample" parameterType="map">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    update sign
+    set id = #{record.id,jdbcType=INTEGER},
+      uid = #{record.uid,jdbcType=INTEGER},
+      kandian = #{record.kandian,jdbcType=INTEGER},
+      days = #{record.days,jdbcType=TINYINT},
+      createdate = #{record.createdate,jdbcType=INTEGER},
+      createtime = #{record.createtime,jdbcType=INTEGER}
+    <if test="_parameter != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+  </update>
+  <update id="updateByPrimaryKeySelective" parameterType="map">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    update sign
+    SET
+    <choose>
+      <when test="selective != null and selective.length > 0">
+        <foreach collection="selective" item="column" separator=",">
+          ${column.escapedColumnName} = #{record.${column.javaProperty},jdbcType=${column.jdbcType}}
+        </foreach>
+      </when>
+      <otherwise>
+        <trim suffixOverrides=",">
+          <if test="record.uid != null">
+            uid = #{record.uid,jdbcType=INTEGER},
+          </if>
+          <if test="record.kandian != null">
+            kandian = #{record.kandian,jdbcType=INTEGER},
+          </if>
+          <if test="record.days != null">
+            days = #{record.days,jdbcType=TINYINT},
+          </if>
+          <if test="record.createdate != null">
+            createdate = #{record.createdate,jdbcType=INTEGER},
+          </if>
+          <if test="record.createtime != null">
+            createtime = #{record.createtime,jdbcType=INTEGER},
+          </if>
+        </trim>
+      </otherwise>
+    </choose>
+    where id = #{record.id,jdbcType=INTEGER}
+  </update>
+  <update id="updateByPrimaryKey" parameterType="com.book.dao.cpsshard.entity.Sign">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    update sign
+    set uid = #{uid,jdbcType=INTEGER},
+      kandian = #{kandian,jdbcType=INTEGER},
+      days = #{days,jdbcType=TINYINT},
+      createdate = #{createdate,jdbcType=INTEGER},
+      createtime = #{createtime,jdbcType=INTEGER}
+    where id = #{id,jdbcType=INTEGER}
+  </update>
+  <select id="selectOneByExample" parameterType="com.book.dao.cpsshard.pojo.example.SignExample" resultMap="BaseResultMap">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    select
+    <include refid="Base_Column_List" />
+    from sign
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+    <if test="orderByClause != null">
+      order by ${orderByClause}
+    </if>
+    limit 1
+  </select>
+  <select id="selectOneByExampleSelective" parameterType="map" resultMap="BaseResultMap">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    select
+    <choose>
+      <when test="selective != null and selective.length > 0">
+        <foreach collection="selective" item="column" separator=",">
+          ${column.aliasedEscapedColumnName}
+        </foreach>
+      </when>
+      <otherwise>
+        <include refid="Base_Column_List" />
+      </otherwise>
+    </choose>
+    from sign
+    <if test="example != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+    <if test="example != null and example.orderByClause != null">
+      order by ${example.orderByClause}
+    </if>
+    limit 1
+  </select>
+  <insert id="batchInsert" parameterType="map">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    insert into sign
+    (id, uid, kandian, days, createdate, createtime)
+    values
+    <foreach collection="list" item="item" separator=",">
+      (#{item.id,jdbcType=INTEGER}, #{item.uid,jdbcType=INTEGER}, #{item.kandian,jdbcType=INTEGER}, 
+        #{item.days,jdbcType=TINYINT}, #{item.createdate,jdbcType=INTEGER}, #{item.createtime,jdbcType=INTEGER}
+        )
+    </foreach>
+  </insert>
+  <insert id="batchInsertSelective" parameterType="map">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    insert into sign (
+    <foreach collection="selective" item="column" separator=",">
+      ${column.escapedColumnName}
+    </foreach>
+    )
+    values
+    <foreach collection="list" item="item" separator=",">
+      (
+      <foreach collection="selective" item="column" separator=",">
+        <if test="'id'.toString() == column.value">
+          #{item.id,jdbcType=INTEGER}
+        </if>
+        <if test="'uid'.toString() == column.value">
+          #{item.uid,jdbcType=INTEGER}
+        </if>
+        <if test="'kandian'.toString() == column.value">
+          #{item.kandian,jdbcType=INTEGER}
+        </if>
+        <if test="'days'.toString() == column.value">
+          #{item.days,jdbcType=TINYINT}
+        </if>
+        <if test="'createdate'.toString() == column.value">
+          #{item.createdate,jdbcType=INTEGER}
+        </if>
+        <if test="'createtime'.toString() == column.value">
+          #{item.createtime,jdbcType=INTEGER}
+        </if>
+      </foreach>
+      )
+    </foreach>
+  </insert>
+  <insert id="upsertSelective" parameterType="map">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    insert into sign
+    <choose>
+      <when test="selective != null and selective.length > 0">
+        <foreach close=")" collection="selective" item="column" open="(" separator=",">
+          ${column.escapedColumnName}
+        </foreach>
+      </when>
+      <otherwise>
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+          <if test="record.id != null">
+            id,
+          </if>
+          <if test="record.uid != null">
+            uid,
+          </if>
+          <if test="record.kandian != null">
+            kandian,
+          </if>
+          <if test="record.days != null">
+            days,
+          </if>
+          <if test="record.createdate != null">
+            createdate,
+          </if>
+          <if test="record.createtime != null">
+            createtime,
+          </if>
+        </trim>
+        <trim prefix="(" suffix=")" suffixOverrides="," />
+      </otherwise>
+    </choose>
+    values
+    <choose>
+      <when test="selective != null and selective.length > 0">
+        <foreach close=")" collection="selective" item="column" open="(" separator=",">
+          #{record.${column.javaProperty},jdbcType=${column.jdbcType}}
+        </foreach>
+      </when>
+      <otherwise>
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+          <if test="record.id != null">
+            #{record.id,jdbcType=INTEGER},
+          </if>
+          <if test="record.uid != null">
+            #{record.uid,jdbcType=INTEGER},
+          </if>
+          <if test="record.kandian != null">
+            #{record.kandian,jdbcType=INTEGER},
+          </if>
+          <if test="record.days != null">
+            #{record.days,jdbcType=TINYINT},
+          </if>
+          <if test="record.createdate != null">
+            #{record.createdate,jdbcType=INTEGER},
+          </if>
+          <if test="record.createtime != null">
+            #{record.createtime,jdbcType=INTEGER},
+          </if>
+        </trim>
+      </otherwise>
+    </choose>
+    on duplicate key update 
+    <choose>
+      <when test="selective != null and selective.length > 0">
+        <foreach collection="selective" item="column" separator=",">
+          ${column.escapedColumnName} = #{record.${column.javaProperty},jdbcType=${column.jdbcType}}
+        </foreach>
+      </when>
+      <otherwise>
+        <trim suffixOverrides=",">
+          <if test="record.id != null">
+            id = #{record.id,jdbcType=INTEGER},
+          </if>
+          <if test="record.uid != null">
+            uid = #{record.uid,jdbcType=INTEGER},
+          </if>
+          <if test="record.kandian != null">
+            kandian = #{record.kandian,jdbcType=INTEGER},
+          </if>
+          <if test="record.days != null">
+            days = #{record.days,jdbcType=TINYINT},
+          </if>
+          <if test="record.createdate != null">
+            createdate = #{record.createdate,jdbcType=INTEGER},
+          </if>
+          <if test="record.createtime != null">
+            createtime = #{record.createtime,jdbcType=INTEGER},
+          </if>
+        </trim>
+      </otherwise>
+    </choose>
+  </insert>
+  <insert id="upsert" parameterType="com.book.dao.cpsshard.entity.Sign">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    insert into sign
+    (id, uid, kandian, days, createdate, createtime)
+    values
+    (#{id,jdbcType=INTEGER}, #{uid,jdbcType=INTEGER}, #{kandian,jdbcType=INTEGER}, #{days,jdbcType=TINYINT}, 
+      #{createdate,jdbcType=INTEGER}, #{createtime,jdbcType=INTEGER})
+    on duplicate key update 
+    id = #{id,jdbcType=INTEGER}, 
+    uid = #{uid,jdbcType=INTEGER}, 
+    kandian = #{kandian,jdbcType=INTEGER}, 
+    days = #{days,jdbcType=TINYINT}, 
+    createdate = #{createdate,jdbcType=INTEGER}, 
+    createtime = #{createtime,jdbcType=INTEGER}
+  </insert>
+</mapper>

+ 739 - 0
book-dao/src/main/resources/mapper/cpsshard/UserRecentlyReadMapper.xml

@@ -0,0 +1,739 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.book.dao.cpsshard.mapper.UserRecentlyReadMapper">
+  <resultMap id="BaseResultMap" type="com.book.dao.cpsshard.entity.UserRecentlyRead">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    <id column="id" jdbcType="INTEGER" property="id" />
+    <result column="user_id" jdbcType="BIGINT" property="userId" />
+    <result column="book_id" jdbcType="BIGINT" property="bookId" />
+    <result column="chapter_id" jdbcType="BIGINT" property="chapterId" />
+    <result column="chapter_name" jdbcType="VARCHAR" property="chapterName" />
+    <result column="flag" jdbcType="TINYINT" property="flag" />
+    <result column="createtime" jdbcType="INTEGER" property="createtime" />
+    <result column="updatetime" jdbcType="INTEGER" property="updatetime" />
+    <result column="book_shelf_add" jdbcType="TINYINT" property="bookShelfAdd" />
+    <result column="book_shelf_flag" jdbcType="TINYINT" property="bookShelfFlag" />
+  </resultMap>
+  <sql id="Example_Where_Clause">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    <where>
+      <foreach collection="oredCriteria" item="criteria" separator="or">
+        <if test="criteria.valid">
+          <trim prefix="(" prefixOverrides="and" suffix=")">
+            <foreach collection="criteria.criteria" item="criterion">
+              <choose>
+                <when test="criterion.noValue">
+                  and ${criterion.condition}
+                </when>
+                <when test="criterion.singleValue">
+                  and ${criterion.condition} #{criterion.value}
+                </when>
+                <when test="criterion.betweenValue">
+                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+                </when>
+                <when test="criterion.listValue">
+                  and ${criterion.condition}
+                  <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
+                    #{listItem}
+                  </foreach>
+                </when>
+              </choose>
+            </foreach>
+          </trim>
+        </if>
+      </foreach>
+    </where>
+  </sql>
+  <sql id="Update_By_Example_Where_Clause">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    <where>
+      <foreach collection="example.oredCriteria" item="criteria" separator="or">
+        <if test="criteria.valid">
+          <trim prefix="(" prefixOverrides="and" suffix=")">
+            <foreach collection="criteria.criteria" item="criterion">
+              <choose>
+                <when test="criterion.noValue">
+                  and ${criterion.condition}
+                </when>
+                <when test="criterion.singleValue">
+                  and ${criterion.condition} #{criterion.value}
+                </when>
+                <when test="criterion.betweenValue">
+                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+                </when>
+                <when test="criterion.listValue">
+                  and ${criterion.condition}
+                  <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
+                    #{listItem}
+                  </foreach>
+                </when>
+              </choose>
+            </foreach>
+          </trim>
+        </if>
+      </foreach>
+    </where>
+  </sql>
+  <sql id="Base_Column_List">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    id, user_id, book_id, chapter_id, chapter_name, flag, createtime, updatetime, book_shelf_add, 
+    book_shelf_flag
+  </sql>
+  <select id="selectByExample" parameterType="com.book.dao.cpsshard.pojo.example.UserRecentlyReadExample" resultMap="BaseResultMap">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    select
+    <if test="distinct">
+      distinct
+    </if>
+    <include refid="Base_Column_List" />
+    from user_recently_read
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+    <if test="orderByClause != null">
+      order by ${orderByClause}
+    </if>
+    <if test="rows != null">
+      <if test="offset != null">
+        limit ${offset}, ${rows}
+      </if>
+      <if test="offset == null">
+        limit ${rows}
+      </if>
+    </if>
+  </select>
+  <select id="selectByExampleSelective" parameterType="map" resultMap="BaseResultMap">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    select
+    <if test="example != null and example.distinct">
+      distinct
+    </if>
+    <choose>
+      <when test="selective != null and selective.length &gt; 0">
+        <foreach collection="selective" item="column" separator=",">
+          ${column.aliasedEscapedColumnName}
+        </foreach>
+      </when>
+      <otherwise>
+        <include refid="Base_Column_List" />
+      </otherwise>
+    </choose>
+    from user_recently_read
+    <if test="example != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+    <if test="example != null and example.orderByClause != null">
+      order by ${example.orderByClause}
+    </if>
+    <if test="example != null and example.rows != null">
+      <if test="example.offset != null">
+        limit ${example.offset}, ${example.rows}
+      </if>
+      <if test="example.offset == null">
+        limit ${example.rows}
+      </if>
+    </if>
+  </select>
+  <select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    select 
+    <include refid="Base_Column_List" />
+    from user_recently_read
+    where id = #{id,jdbcType=INTEGER}
+  </select>
+  <select id="selectByPrimaryKeySelective" parameterType="map" resultMap="BaseResultMap">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    select
+    <choose>
+      <when test="selective != null and selective.length &gt; 0">
+        <foreach collection="selective" item="column" separator=",">
+          ${column.aliasedEscapedColumnName}
+        </foreach>
+      </when>
+      <otherwise>
+        <include refid="Base_Column_List" />
+      </otherwise>
+    </choose>
+    from user_recently_read
+    where id = #{id,jdbcType=INTEGER}
+  </select>
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    delete from user_recently_read
+    where id = #{id,jdbcType=INTEGER}
+  </delete>
+  <delete id="deleteByExample" parameterType="com.book.dao.cpsshard.pojo.example.UserRecentlyReadExample">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    delete from user_recently_read
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+  </delete>
+  <insert id="insert" parameterType="com.book.dao.cpsshard.entity.UserRecentlyRead">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    insert into user_recently_read (id, user_id, book_id, 
+      chapter_id, chapter_name, flag, 
+      createtime, updatetime, book_shelf_add, 
+      book_shelf_flag)
+    values (#{id,jdbcType=INTEGER}, #{userId,jdbcType=BIGINT}, #{bookId,jdbcType=BIGINT}, 
+      #{chapterId,jdbcType=BIGINT}, #{chapterName,jdbcType=VARCHAR}, #{flag,jdbcType=TINYINT}, 
+      #{createtime,jdbcType=INTEGER}, #{updatetime,jdbcType=INTEGER}, #{bookShelfAdd,jdbcType=TINYINT}, 
+      #{bookShelfFlag,jdbcType=TINYINT})
+  </insert>
+  <insert id="insertSelective" parameterType="map">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    insert into user_recently_read
+    <choose>
+      <when test="selective != null and selective.length &gt; 0">
+        <foreach close=")" collection="selective" item="column" open="(" separator=",">
+          ${column.escapedColumnName}
+        </foreach>
+      </when>
+      <otherwise>
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+          <if test="record.id != null">
+            id,
+          </if>
+          <if test="record.userId != null">
+            user_id,
+          </if>
+          <if test="record.bookId != null">
+            book_id,
+          </if>
+          <if test="record.chapterId != null">
+            chapter_id,
+          </if>
+          <if test="record.chapterName != null">
+            chapter_name,
+          </if>
+          <if test="record.flag != null">
+            flag,
+          </if>
+          <if test="record.createtime != null">
+            createtime,
+          </if>
+          <if test="record.updatetime != null">
+            updatetime,
+          </if>
+          <if test="record.bookShelfAdd != null">
+            book_shelf_add,
+          </if>
+          <if test="record.bookShelfFlag != null">
+            book_shelf_flag,
+          </if>
+        </trim>
+        <trim prefix="(" suffix=")" suffixOverrides="," />
+      </otherwise>
+    </choose>
+    values
+    <choose>
+      <when test="selective != null and selective.length &gt; 0">
+        <foreach close=")" collection="selective" item="column" open="(" separator=",">
+          #{record.${column.javaProperty},jdbcType=${column.jdbcType}}
+        </foreach>
+      </when>
+      <otherwise>
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+          <if test="record.id != null">
+            #{record.id,jdbcType=INTEGER},
+          </if>
+          <if test="record.userId != null">
+            #{record.userId,jdbcType=BIGINT},
+          </if>
+          <if test="record.bookId != null">
+            #{record.bookId,jdbcType=BIGINT},
+          </if>
+          <if test="record.chapterId != null">
+            #{record.chapterId,jdbcType=BIGINT},
+          </if>
+          <if test="record.chapterName != null">
+            #{record.chapterName,jdbcType=VARCHAR},
+          </if>
+          <if test="record.flag != null">
+            #{record.flag,jdbcType=TINYINT},
+          </if>
+          <if test="record.createtime != null">
+            #{record.createtime,jdbcType=INTEGER},
+          </if>
+          <if test="record.updatetime != null">
+            #{record.updatetime,jdbcType=INTEGER},
+          </if>
+          <if test="record.bookShelfAdd != null">
+            #{record.bookShelfAdd,jdbcType=TINYINT},
+          </if>
+          <if test="record.bookShelfFlag != null">
+            #{record.bookShelfFlag,jdbcType=TINYINT},
+          </if>
+        </trim>
+      </otherwise>
+    </choose>
+  </insert>
+  <select id="countByExample" parameterType="com.book.dao.cpsshard.pojo.example.UserRecentlyReadExample" resultType="java.lang.Long">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    select count(*) from user_recently_read
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+  </select>
+  <update id="updateByExampleSelective" parameterType="map">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    update user_recently_read
+    SET
+    <choose>
+      <when test="selective != null and selective.length &gt; 0">
+        <foreach collection="selective" item="column" separator=",">
+          ${column.escapedColumnName} = #{record.${column.javaProperty},jdbcType=${column.jdbcType}}
+        </foreach>
+      </when>
+      <otherwise>
+        <trim suffixOverrides=",">
+          <if test="record.id != null">
+            id = #{record.id,jdbcType=INTEGER},
+          </if>
+          <if test="record.userId != null">
+            user_id = #{record.userId,jdbcType=BIGINT},
+          </if>
+          <if test="record.bookId != null">
+            book_id = #{record.bookId,jdbcType=BIGINT},
+          </if>
+          <if test="record.chapterId != null">
+            chapter_id = #{record.chapterId,jdbcType=BIGINT},
+          </if>
+          <if test="record.chapterName != null">
+            chapter_name = #{record.chapterName,jdbcType=VARCHAR},
+          </if>
+          <if test="record.flag != null">
+            flag = #{record.flag,jdbcType=TINYINT},
+          </if>
+          <if test="record.createtime != null">
+            createtime = #{record.createtime,jdbcType=INTEGER},
+          </if>
+          <if test="record.updatetime != null">
+            updatetime = #{record.updatetime,jdbcType=INTEGER},
+          </if>
+          <if test="record.bookShelfAdd != null">
+            book_shelf_add = #{record.bookShelfAdd,jdbcType=TINYINT},
+          </if>
+          <if test="record.bookShelfFlag != null">
+            book_shelf_flag = #{record.bookShelfFlag,jdbcType=TINYINT},
+          </if>
+        </trim>
+      </otherwise>
+    </choose>
+    <if test="_parameter != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+  </update>
+  <update id="updateByExample" parameterType="map">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    update user_recently_read
+    set id = #{record.id,jdbcType=INTEGER},
+      user_id = #{record.userId,jdbcType=BIGINT},
+      book_id = #{record.bookId,jdbcType=BIGINT},
+      chapter_id = #{record.chapterId,jdbcType=BIGINT},
+      chapter_name = #{record.chapterName,jdbcType=VARCHAR},
+      flag = #{record.flag,jdbcType=TINYINT},
+      createtime = #{record.createtime,jdbcType=INTEGER},
+      updatetime = #{record.updatetime,jdbcType=INTEGER},
+      book_shelf_add = #{record.bookShelfAdd,jdbcType=TINYINT},
+      book_shelf_flag = #{record.bookShelfFlag,jdbcType=TINYINT}
+    <if test="_parameter != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+  </update>
+  <update id="updateByPrimaryKeySelective" parameterType="map">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    update user_recently_read
+    SET
+    <choose>
+      <when test="selective != null and selective.length &gt; 0">
+        <foreach collection="selective" item="column" separator=",">
+          ${column.escapedColumnName} = #{record.${column.javaProperty},jdbcType=${column.jdbcType}}
+        </foreach>
+      </when>
+      <otherwise>
+        <trim suffixOverrides=",">
+          <if test="record.userId != null">
+            user_id = #{record.userId,jdbcType=BIGINT},
+          </if>
+          <if test="record.bookId != null">
+            book_id = #{record.bookId,jdbcType=BIGINT},
+          </if>
+          <if test="record.chapterId != null">
+            chapter_id = #{record.chapterId,jdbcType=BIGINT},
+          </if>
+          <if test="record.chapterName != null">
+            chapter_name = #{record.chapterName,jdbcType=VARCHAR},
+          </if>
+          <if test="record.flag != null">
+            flag = #{record.flag,jdbcType=TINYINT},
+          </if>
+          <if test="record.createtime != null">
+            createtime = #{record.createtime,jdbcType=INTEGER},
+          </if>
+          <if test="record.updatetime != null">
+            updatetime = #{record.updatetime,jdbcType=INTEGER},
+          </if>
+          <if test="record.bookShelfAdd != null">
+            book_shelf_add = #{record.bookShelfAdd,jdbcType=TINYINT},
+          </if>
+          <if test="record.bookShelfFlag != null">
+            book_shelf_flag = #{record.bookShelfFlag,jdbcType=TINYINT},
+          </if>
+        </trim>
+      </otherwise>
+    </choose>
+    where id = #{record.id,jdbcType=INTEGER}
+  </update>
+  <update id="updateByPrimaryKey" parameterType="com.book.dao.cpsshard.entity.UserRecentlyRead">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    update user_recently_read
+    set user_id = #{userId,jdbcType=BIGINT},
+      book_id = #{bookId,jdbcType=BIGINT},
+      chapter_id = #{chapterId,jdbcType=BIGINT},
+      chapter_name = #{chapterName,jdbcType=VARCHAR},
+      flag = #{flag,jdbcType=TINYINT},
+      createtime = #{createtime,jdbcType=INTEGER},
+      updatetime = #{updatetime,jdbcType=INTEGER},
+      book_shelf_add = #{bookShelfAdd,jdbcType=TINYINT},
+      book_shelf_flag = #{bookShelfFlag,jdbcType=TINYINT}
+    where id = #{id,jdbcType=INTEGER}
+  </update>
+  <select id="selectOneByExample" parameterType="com.book.dao.cpsshard.pojo.example.UserRecentlyReadExample" resultMap="BaseResultMap">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    select
+    <include refid="Base_Column_List" />
+    from user_recently_read
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+    <if test="orderByClause != null">
+      order by ${orderByClause}
+    </if>
+    limit 1
+  </select>
+  <select id="selectOneByExampleSelective" parameterType="map" resultMap="BaseResultMap">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    select
+    <choose>
+      <when test="selective != null and selective.length &gt; 0">
+        <foreach collection="selective" item="column" separator=",">
+          ${column.aliasedEscapedColumnName}
+        </foreach>
+      </when>
+      <otherwise>
+        <include refid="Base_Column_List" />
+      </otherwise>
+    </choose>
+    from user_recently_read
+    <if test="example != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+    <if test="example != null and example.orderByClause != null">
+      order by ${example.orderByClause}
+    </if>
+    limit 1
+  </select>
+  <insert id="batchInsert" parameterType="map">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    insert into user_recently_read
+    (id, user_id, book_id, chapter_id, chapter_name, flag, createtime, updatetime, book_shelf_add, 
+      book_shelf_flag)
+    values
+    <foreach collection="list" item="item" separator=",">
+      (#{item.id,jdbcType=INTEGER}, #{item.userId,jdbcType=BIGINT}, #{item.bookId,jdbcType=BIGINT}, 
+        #{item.chapterId,jdbcType=BIGINT}, #{item.chapterName,jdbcType=VARCHAR}, #{item.flag,jdbcType=TINYINT}, 
+        #{item.createtime,jdbcType=INTEGER}, #{item.updatetime,jdbcType=INTEGER}, #{item.bookShelfAdd,jdbcType=TINYINT}, 
+        #{item.bookShelfFlag,jdbcType=TINYINT})
+    </foreach>
+  </insert>
+  <insert id="batchInsertSelective" parameterType="map">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    insert into user_recently_read (
+    <foreach collection="selective" item="column" separator=",">
+      ${column.escapedColumnName}
+    </foreach>
+    )
+    values
+    <foreach collection="list" item="item" separator=",">
+      (
+      <foreach collection="selective" item="column" separator=",">
+        <if test="'id'.toString() == column.value">
+          #{item.id,jdbcType=INTEGER}
+        </if>
+        <if test="'user_id'.toString() == column.value">
+          #{item.userId,jdbcType=BIGINT}
+        </if>
+        <if test="'book_id'.toString() == column.value">
+          #{item.bookId,jdbcType=BIGINT}
+        </if>
+        <if test="'chapter_id'.toString() == column.value">
+          #{item.chapterId,jdbcType=BIGINT}
+        </if>
+        <if test="'chapter_name'.toString() == column.value">
+          #{item.chapterName,jdbcType=VARCHAR}
+        </if>
+        <if test="'flag'.toString() == column.value">
+          #{item.flag,jdbcType=TINYINT}
+        </if>
+        <if test="'createtime'.toString() == column.value">
+          #{item.createtime,jdbcType=INTEGER}
+        </if>
+        <if test="'updatetime'.toString() == column.value">
+          #{item.updatetime,jdbcType=INTEGER}
+        </if>
+        <if test="'book_shelf_add'.toString() == column.value">
+          #{item.bookShelfAdd,jdbcType=TINYINT}
+        </if>
+        <if test="'book_shelf_flag'.toString() == column.value">
+          #{item.bookShelfFlag,jdbcType=TINYINT}
+        </if>
+      </foreach>
+      )
+    </foreach>
+  </insert>
+  <insert id="upsertSelective" parameterType="map">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    insert into user_recently_read
+    <choose>
+      <when test="selective != null and selective.length &gt; 0">
+        <foreach close=")" collection="selective" item="column" open="(" separator=",">
+          ${column.escapedColumnName}
+        </foreach>
+      </when>
+      <otherwise>
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+          <if test="record.id != null">
+            id,
+          </if>
+          <if test="record.userId != null">
+            user_id,
+          </if>
+          <if test="record.bookId != null">
+            book_id,
+          </if>
+          <if test="record.chapterId != null">
+            chapter_id,
+          </if>
+          <if test="record.chapterName != null">
+            chapter_name,
+          </if>
+          <if test="record.flag != null">
+            flag,
+          </if>
+          <if test="record.createtime != null">
+            createtime,
+          </if>
+          <if test="record.updatetime != null">
+            updatetime,
+          </if>
+          <if test="record.bookShelfAdd != null">
+            book_shelf_add,
+          </if>
+          <if test="record.bookShelfFlag != null">
+            book_shelf_flag,
+          </if>
+        </trim>
+        <trim prefix="(" suffix=")" suffixOverrides="," />
+      </otherwise>
+    </choose>
+    values
+    <choose>
+      <when test="selective != null and selective.length &gt; 0">
+        <foreach close=")" collection="selective" item="column" open="(" separator=",">
+          #{record.${column.javaProperty},jdbcType=${column.jdbcType}}
+        </foreach>
+      </when>
+      <otherwise>
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+          <if test="record.id != null">
+            #{record.id,jdbcType=INTEGER},
+          </if>
+          <if test="record.userId != null">
+            #{record.userId,jdbcType=BIGINT},
+          </if>
+          <if test="record.bookId != null">
+            #{record.bookId,jdbcType=BIGINT},
+          </if>
+          <if test="record.chapterId != null">
+            #{record.chapterId,jdbcType=BIGINT},
+          </if>
+          <if test="record.chapterName != null">
+            #{record.chapterName,jdbcType=VARCHAR},
+          </if>
+          <if test="record.flag != null">
+            #{record.flag,jdbcType=TINYINT},
+          </if>
+          <if test="record.createtime != null">
+            #{record.createtime,jdbcType=INTEGER},
+          </if>
+          <if test="record.updatetime != null">
+            #{record.updatetime,jdbcType=INTEGER},
+          </if>
+          <if test="record.bookShelfAdd != null">
+            #{record.bookShelfAdd,jdbcType=TINYINT},
+          </if>
+          <if test="record.bookShelfFlag != null">
+            #{record.bookShelfFlag,jdbcType=TINYINT},
+          </if>
+        </trim>
+      </otherwise>
+    </choose>
+    on duplicate key update 
+    <choose>
+      <when test="selective != null and selective.length &gt; 0">
+        <foreach collection="selective" item="column" separator=",">
+          ${column.escapedColumnName} = #{record.${column.javaProperty},jdbcType=${column.jdbcType}}
+        </foreach>
+      </when>
+      <otherwise>
+        <trim suffixOverrides=",">
+          <if test="record.id != null">
+            id = #{record.id,jdbcType=INTEGER},
+          </if>
+          <if test="record.userId != null">
+            user_id = #{record.userId,jdbcType=BIGINT},
+          </if>
+          <if test="record.bookId != null">
+            book_id = #{record.bookId,jdbcType=BIGINT},
+          </if>
+          <if test="record.chapterId != null">
+            chapter_id = #{record.chapterId,jdbcType=BIGINT},
+          </if>
+          <if test="record.chapterName != null">
+            chapter_name = #{record.chapterName,jdbcType=VARCHAR},
+          </if>
+          <if test="record.flag != null">
+            flag = #{record.flag,jdbcType=TINYINT},
+          </if>
+          <if test="record.createtime != null">
+            createtime = #{record.createtime,jdbcType=INTEGER},
+          </if>
+          <if test="record.updatetime != null">
+            updatetime = #{record.updatetime,jdbcType=INTEGER},
+          </if>
+          <if test="record.bookShelfAdd != null">
+            book_shelf_add = #{record.bookShelfAdd,jdbcType=TINYINT},
+          </if>
+          <if test="record.bookShelfFlag != null">
+            book_shelf_flag = #{record.bookShelfFlag,jdbcType=TINYINT},
+          </if>
+        </trim>
+      </otherwise>
+    </choose>
+  </insert>
+  <insert id="upsert" parameterType="com.book.dao.cpsshard.entity.UserRecentlyRead">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Sun Aug 22 13:51:10 CST 2021.
+    -->
+    insert into user_recently_read
+    (id, user_id, book_id, chapter_id, chapter_name, flag, createtime, updatetime, book_shelf_add, 
+      book_shelf_flag)
+    values
+    (#{id,jdbcType=INTEGER}, #{userId,jdbcType=BIGINT}, #{bookId,jdbcType=BIGINT}, #{chapterId,jdbcType=BIGINT}, 
+      #{chapterName,jdbcType=VARCHAR}, #{flag,jdbcType=TINYINT}, #{createtime,jdbcType=INTEGER}, 
+      #{updatetime,jdbcType=INTEGER}, #{bookShelfAdd,jdbcType=TINYINT}, #{bookShelfFlag,jdbcType=TINYINT}
+      )
+    on duplicate key update 
+    id = #{id,jdbcType=INTEGER}, 
+    user_id = #{userId,jdbcType=BIGINT}, 
+    book_id = #{bookId,jdbcType=BIGINT}, 
+    chapter_id = #{chapterId,jdbcType=BIGINT}, 
+    chapter_name = #{chapterName,jdbcType=VARCHAR}, 
+    flag = #{flag,jdbcType=TINYINT}, 
+    createtime = #{createtime,jdbcType=INTEGER}, 
+    updatetime = #{updatetime,jdbcType=INTEGER}, 
+    book_shelf_add = #{bookShelfAdd,jdbcType=TINYINT}, 
+    book_shelf_flag = #{bookShelfFlag,jdbcType=TINYINT}
+  </insert>
+</mapper>

+ 40 - 40
book-dao/src/main/resources/mapper/polar/AdUserGroupExtendMapper.xml

@@ -5,7 +5,7 @@
     <!--
       WARNING - @mbg.generated
       This element is automatically generated by MyBatis Generator, do not modify.
-      This element was generated on Sat Aug 21 18:03:39 CST 2021.
+      This element was generated on Sun Aug 22 13:48:46 CST 2021.
     -->
     <id column="id" jdbcType="INTEGER" property="id" />
     <result column="user_group_id" jdbcType="INTEGER" property="userGroupId" />
@@ -18,7 +18,7 @@
     <!--
       WARNING - @mbg.generated
       This element is automatically generated by MyBatis Generator, do not modify.
-      This element was generated on Sat Aug 21 18:03:39 CST 2021.
+      This element was generated on Sun Aug 22 13:48:46 CST 2021.
     -->
     <result column="user_ids" jdbcType="LONGVARCHAR" property="userIds" />
   </resultMap>
@@ -26,7 +26,7 @@
     <!--
       WARNING - @mbg.generated
       This element is automatically generated by MyBatis Generator, do not modify.
-      This element was generated on Sat Aug 21 18:03:39 CST 2021.
+      This element was generated on Sun Aug 22 13:48:46 CST 2021.
     -->
     <where>
       <foreach collection="oredCriteria" item="criteria" separator="or">
@@ -60,7 +60,7 @@
     <!--
       WARNING - @mbg.generated
       This element is automatically generated by MyBatis Generator, do not modify.
-      This element was generated on Sat Aug 21 18:03:39 CST 2021.
+      This element was generated on Sun Aug 22 13:48:46 CST 2021.
     -->
     <where>
       <foreach collection="example.oredCriteria" item="criteria" separator="or">
@@ -94,7 +94,7 @@
     <!--
       WARNING - @mbg.generated
       This element is automatically generated by MyBatis Generator, do not modify.
-      This element was generated on Sat Aug 21 18:03:39 CST 2021.
+      This element was generated on Sun Aug 22 13:48:46 CST 2021.
     -->
     id, user_group_id, create_by, edit_by, createtime, updatetime
   </sql>
@@ -102,7 +102,7 @@
     <!--
       WARNING - @mbg.generated
       This element is automatically generated by MyBatis Generator, do not modify.
-      This element was generated on Sat Aug 21 18:03:39 CST 2021.
+      This element was generated on Sun Aug 22 13:48:46 CST 2021.
     -->
     user_ids
   </sql>
@@ -110,7 +110,7 @@
     <!--
       WARNING - @mbg.generated
       This element is automatically generated by MyBatis Generator, do not modify.
-      This element was generated on Sat Aug 21 18:03:39 CST 2021.
+      This element was generated on Sun Aug 22 13:48:46 CST 2021.
     -->
     select
     <if test="distinct">
@@ -139,7 +139,7 @@
     <!--
       WARNING - @mbg.generated
       This element is automatically generated by MyBatis Generator, do not modify.
-      This element was generated on Sat Aug 21 18:03:39 CST 2021.
+      This element was generated on Sun Aug 22 13:48:46 CST 2021.
     -->
     select
     <if test="distinct">
@@ -166,14 +166,14 @@
     <!--
       WARNING - @mbg.generated
       This element is automatically generated by MyBatis Generator, do not modify.
-      This element was generated on Sat Aug 21 18:03:39 CST 2021.
+      This element was generated on Sun Aug 22 13:48:46 CST 2021.
     -->
     select
     <if test="example != null and example.distinct">
       distinct
     </if>
     <choose>
-      <when test="selective != null and selective.length > 0">
+      <when test="selective != null and selective.length &gt; 0">
         <foreach collection="selective" item="column" separator=",">
           ${column.aliasedEscapedColumnName}
         </foreach>
@@ -204,7 +204,7 @@
     <!--
       WARNING - @mbg.generated
       This element is automatically generated by MyBatis Generator, do not modify.
-      This element was generated on Sat Aug 21 18:03:39 CST 2021.
+      This element was generated on Sun Aug 22 13:48:46 CST 2021.
     -->
     select 
     <include refid="Base_Column_List" />
@@ -217,11 +217,11 @@
     <!--
       WARNING - @mbg.generated
       This element is automatically generated by MyBatis Generator, do not modify.
-      This element was generated on Sat Aug 21 18:03:39 CST 2021.
+      This element was generated on Sun Aug 22 13:48:46 CST 2021.
     -->
     select
     <choose>
-      <when test="selective != null and selective.length > 0">
+      <when test="selective != null and selective.length &gt; 0">
         <foreach collection="selective" item="column" separator=",">
           ${column.aliasedEscapedColumnName}
         </foreach>
@@ -239,7 +239,7 @@
     <!--
       WARNING - @mbg.generated
       This element is automatically generated by MyBatis Generator, do not modify.
-      This element was generated on Sat Aug 21 18:03:39 CST 2021.
+      This element was generated on Sun Aug 22 13:48:46 CST 2021.
     -->
     delete from ad_user_group_extend
     where id = #{id,jdbcType=INTEGER}
@@ -248,7 +248,7 @@
     <!--
       WARNING - @mbg.generated
       This element is automatically generated by MyBatis Generator, do not modify.
-      This element was generated on Sat Aug 21 18:03:39 CST 2021.
+      This element was generated on Sun Aug 22 13:48:46 CST 2021.
     -->
     delete from ad_user_group_extend
     <if test="_parameter != null">
@@ -259,7 +259,7 @@
     <!--
       WARNING - @mbg.generated
       This element is automatically generated by MyBatis Generator, do not modify.
-      This element was generated on Sat Aug 21 18:03:39 CST 2021.
+      This element was generated on Sun Aug 22 13:48:46 CST 2021.
     -->
     insert into ad_user_group_extend (id, user_group_id, create_by, 
       edit_by, createtime, updatetime, 
@@ -272,11 +272,11 @@
     <!--
       WARNING - @mbg.generated
       This element is automatically generated by MyBatis Generator, do not modify.
-      This element was generated on Sat Aug 21 18:03:39 CST 2021.
+      This element was generated on Sun Aug 22 13:48:46 CST 2021.
     -->
     insert into ad_user_group_extend
     <choose>
-      <when test="selective != null and selective.length > 0">
+      <when test="selective != null and selective.length &gt; 0">
         <foreach close=")" collection="selective" item="column" open="(" separator=",">
           ${column.escapedColumnName}
         </foreach>
@@ -310,7 +310,7 @@
     </choose>
     values
     <choose>
-      <when test="selective != null and selective.length > 0">
+      <when test="selective != null and selective.length &gt; 0">
         <foreach close=")" collection="selective" item="column" open="(" separator=",">
           #{record.${column.javaProperty},jdbcType=${column.jdbcType}}
         </foreach>
@@ -346,7 +346,7 @@
     <!--
       WARNING - @mbg.generated
       This element is automatically generated by MyBatis Generator, do not modify.
-      This element was generated on Sat Aug 21 18:03:39 CST 2021.
+      This element was generated on Sun Aug 22 13:48:46 CST 2021.
     -->
     select count(*) from ad_user_group_extend
     <if test="_parameter != null">
@@ -357,12 +357,12 @@
     <!--
       WARNING - @mbg.generated
       This element is automatically generated by MyBatis Generator, do not modify.
-      This element was generated on Sat Aug 21 18:03:39 CST 2021.
+      This element was generated on Sun Aug 22 13:48:46 CST 2021.
     -->
     update ad_user_group_extend
     SET
     <choose>
-      <when test="selective != null and selective.length > 0">
+      <when test="selective != null and selective.length &gt; 0">
         <foreach collection="selective" item="column" separator=",">
           ${column.escapedColumnName} = #{record.${column.javaProperty},jdbcType=${column.jdbcType}}
         </foreach>
@@ -401,7 +401,7 @@
     <!--
       WARNING - @mbg.generated
       This element is automatically generated by MyBatis Generator, do not modify.
-      This element was generated on Sat Aug 21 18:03:39 CST 2021.
+      This element was generated on Sun Aug 22 13:48:46 CST 2021.
     -->
     update ad_user_group_extend
     set id = #{record.id,jdbcType=INTEGER},
@@ -419,7 +419,7 @@
     <!--
       WARNING - @mbg.generated
       This element is automatically generated by MyBatis Generator, do not modify.
-      This element was generated on Sat Aug 21 18:03:39 CST 2021.
+      This element was generated on Sun Aug 22 13:48:46 CST 2021.
     -->
     update ad_user_group_extend
     set id = #{record.id,jdbcType=INTEGER},
@@ -436,12 +436,12 @@
     <!--
       WARNING - @mbg.generated
       This element is automatically generated by MyBatis Generator, do not modify.
-      This element was generated on Sat Aug 21 18:03:39 CST 2021.
+      This element was generated on Sun Aug 22 13:48:46 CST 2021.
     -->
     update ad_user_group_extend
     SET
     <choose>
-      <when test="selective != null and selective.length > 0">
+      <when test="selective != null and selective.length &gt; 0">
         <foreach collection="selective" item="column" separator=",">
           ${column.escapedColumnName} = #{record.${column.javaProperty},jdbcType=${column.jdbcType}}
         </foreach>
@@ -475,7 +475,7 @@
     <!--
       WARNING - @mbg.generated
       This element is automatically generated by MyBatis Generator, do not modify.
-      This element was generated on Sat Aug 21 18:03:39 CST 2021.
+      This element was generated on Sun Aug 22 13:48:46 CST 2021.
     -->
     update ad_user_group_extend
     set user_group_id = #{userGroupId,jdbcType=INTEGER},
@@ -490,7 +490,7 @@
     <!--
       WARNING - @mbg.generated
       This element is automatically generated by MyBatis Generator, do not modify.
-      This element was generated on Sat Aug 21 18:03:39 CST 2021.
+      This element was generated on Sun Aug 22 13:48:46 CST 2021.
     -->
     update ad_user_group_extend
     set user_group_id = #{userGroupId,jdbcType=INTEGER},
@@ -504,7 +504,7 @@
     <!--
       WARNING - @mbg.generated
       This element is automatically generated by MyBatis Generator, do not modify.
-      This element was generated on Sat Aug 21 18:03:39 CST 2021.
+      This element was generated on Sun Aug 22 13:48:46 CST 2021.
     -->
     select
     <include refid="Base_Column_List" />
@@ -521,7 +521,7 @@
     <!--
       WARNING - @mbg.generated
       This element is automatically generated by MyBatis Generator, do not modify.
-      This element was generated on Sat Aug 21 18:03:39 CST 2021.
+      This element was generated on Sun Aug 22 13:48:46 CST 2021.
     -->
     select
     <include refid="Base_Column_List" />
@@ -540,11 +540,11 @@
     <!--
       WARNING - @mbg.generated
       This element is automatically generated by MyBatis Generator, do not modify.
-      This element was generated on Sat Aug 21 18:03:39 CST 2021.
+      This element was generated on Sun Aug 22 13:48:46 CST 2021.
     -->
     select
     <choose>
-      <when test="selective != null and selective.length > 0">
+      <when test="selective != null and selective.length &gt; 0">
         <foreach collection="selective" item="column" separator=",">
           ${column.aliasedEscapedColumnName}
         </foreach>
@@ -568,7 +568,7 @@
     <!--
       WARNING - @mbg.generated
       This element is automatically generated by MyBatis Generator, do not modify.
-      This element was generated on Sat Aug 21 18:03:39 CST 2021.
+      This element was generated on Sun Aug 22 13:48:46 CST 2021.
     -->
     insert into ad_user_group_extend
     (id, user_group_id, create_by, edit_by, createtime, updatetime, user_ids)
@@ -583,7 +583,7 @@
     <!--
       WARNING - @mbg.generated
       This element is automatically generated by MyBatis Generator, do not modify.
-      This element was generated on Sat Aug 21 18:03:39 CST 2021.
+      This element was generated on Sun Aug 22 13:48:46 CST 2021.
     -->
     insert into ad_user_group_extend (
     <foreach collection="selective" item="column" separator=",">
@@ -623,11 +623,11 @@
     <!--
       WARNING - @mbg.generated
       This element is automatically generated by MyBatis Generator, do not modify.
-      This element was generated on Sat Aug 21 18:03:39 CST 2021.
+      This element was generated on Sun Aug 22 13:48:46 CST 2021.
     -->
     insert into ad_user_group_extend
     <choose>
-      <when test="selective != null and selective.length > 0">
+      <when test="selective != null and selective.length &gt; 0">
         <foreach close=")" collection="selective" item="column" open="(" separator=",">
           ${column.escapedColumnName}
         </foreach>
@@ -661,7 +661,7 @@
     </choose>
     values
     <choose>
-      <when test="selective != null and selective.length > 0">
+      <when test="selective != null and selective.length &gt; 0">
         <foreach close=")" collection="selective" item="column" open="(" separator=",">
           #{record.${column.javaProperty},jdbcType=${column.jdbcType}}
         </foreach>
@@ -694,7 +694,7 @@
     </choose>
     on duplicate key update 
     <choose>
-      <when test="selective != null and selective.length > 0">
+      <when test="selective != null and selective.length &gt; 0">
         <foreach collection="selective" item="column" separator=",">
           ${column.escapedColumnName} = #{record.${column.javaProperty},jdbcType=${column.jdbcType}}
         </foreach>
@@ -730,7 +730,7 @@
     <!--
       WARNING - @mbg.generated
       This element is automatically generated by MyBatis Generator, do not modify.
-      This element was generated on Sat Aug 21 18:03:39 CST 2021.
+      This element was generated on Sun Aug 22 13:48:46 CST 2021.
     -->
     insert into ad_user_group_extend
     (id, user_group_id, create_by, edit_by, createtime, updatetime)
@@ -750,7 +750,7 @@
     <!--
       WARNING - @mbg.generated
       This element is automatically generated by MyBatis Generator, do not modify.
-      This element was generated on Sat Aug 21 18:03:39 CST 2021.
+      This element was generated on Sun Aug 22 13:48:46 CST 2021.
     -->
     insert into ad_user_group_extend
     (id, user_group_id, create_by, edit_by, createtime, updatetime, user_ids)

+ 9 - 16
book-dao/src/main/resources/mybatis-generator.xml

@@ -27,7 +27,7 @@
         <!-- Example 目标包修改插件 need to change-->
         <plugin type="com.itfsw.mybatis.generator.plugins.ExampleTargetPlugin">
             <!-- 修改Example类生成到目标包下 -->
-            <property name="targetPackage" value="com.book.dao.polardb.pojo.example"/>
+            <property name="targetPackage" value="com.book.dao.cpsshard.pojo.example"/>
         </plugin>
 
         <!-- 数据Model属性对应Column获取插件 -->
@@ -103,33 +103,26 @@
         <!--数据库连接配置 need to change-->
         <jdbcConnection
                 driverClass="com.mysql.cj.jdbc.Driver"
-                connectionURL="jdbc:mysql://121.41.100.198:3306/polardb?nullCatalogMeansCurrent=true&amp;serverTimezone=UTC"
+                connectionURL="jdbc:mysql://121.41.100.198:3306/test_cps_shard_192?nullCatalogMeansCurrent=true&amp;serverTimezone=UTC"
                 userId="root"
                 password="root"/>
 
         <!--指定自动生成的 POJO置于哪个包下 need to change -->
-        <javaModelGenerator targetPackage="com.book.dao.polardb.entity"
+        <javaModelGenerator targetPackage="com.book.dao.cpsshard.entity"
                             targetProject="src/main/java"/>
 
         <!--指定自动生成的 mapper.xml置于哪个包下 -->
-        <sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources"/>
+        <sqlMapGenerator targetPackage="mapper/cpsshard" targetProject="src/main/resources"/>
 
         <!--指定自动生成的 DAO接口置于哪个包下 need to change-->
-        <javaClientGenerator targetPackage="com.book.dao.polardb.mapper"
+        <javaClientGenerator targetPackage="com.book.dao.cpsshard.mapper"
                              targetProject="src/main/java" type="XMLMAPPER"/>
 
         <!--指定数据表名,可以使用_和%通配符,可以配置generatedKey,会返回insert之后的id-->
-<!--        <table tableName="book"></table>-->
-<!--        <table tableName="manage_block"></table>-->
-<!--        <table tableName="manage_block_resource"></table>-->
-<!--        <table tableName="book_category"></table>-->
-<!--        <table tableName="user"></table>-->
-<!--        <table tableName="search_keyword"></table>-->
-<!--        <table tableName="return_recommand"></table>-->
-<!--        <table tableName="bookshelf_recommand"></table>-->
-<!--        <table tableName="smart_recommand"></table>-->
-        <table tableName="ad_user_group_extend"></table>
-
+        <table tableName="user_recently_read"/>
+        <table tableName="sign"/>
+        <table tableName="recharge"/>
+        <table tableName="consume"/>
     </context>
 
 </generatorConfiguration>

+ 135 - 0
book-dao/src/main/resources/polar-mybatis-generator.xml

@@ -0,0 +1,135 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE generatorConfiguration
+        PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
+        "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
+
+<generatorConfiguration>
+
+    <context id="MySql" defaultModelType="flat">
+
+        <!--搜索:need to change-->
+
+        <!-- 查询单条数据插件 -->
+        <plugin type="com.itfsw.mybatis.generator.plugins.SelectOneByExamplePlugin"/>
+
+        <!-- MySQL分页插件 -->
+        <plugin type="com.itfsw.mybatis.generator.plugins.LimitPlugin">
+            <!-- 通过配置startPage影响Example中的page方法开始分页的页码,默认分页从0开始 -->
+            <property name="startPage" value="0"/>
+        </plugin>
+
+        <!-- Example Criteria 增强插件 -->
+        <plugin type="com.itfsw.mybatis.generator.plugins.ExampleEnhancedPlugin">
+            <!-- 是否支持已经过时的andIf方法(推荐使用when代替),默认支持 -->
+            <property name="enableAndIf" value="true"/>
+        </plugin>
+
+        <!-- Example 目标包修改插件 need to change-->
+        <plugin type="com.itfsw.mybatis.generator.plugins.ExampleTargetPlugin">
+            <!-- 修改Example类生成到目标包下 -->
+            <property name="targetPackage" value="com.book.dao.polardb.pojo.example"/>
+        </plugin>
+
+        <!-- 数据Model属性对应Column获取插件 -->
+        <plugin type="com.itfsw.mybatis.generator.plugins.ModelColumnPlugin"/>
+
+        <!-- 数据Model链式构建插件 -->
+        <plugin type="com.itfsw.mybatis.generator.plugins.ModelBuilderPlugin"/>
+
+        <!-- 批量插入插件 -->
+        <plugin type="com.itfsw.mybatis.generator.plugins.BatchInsertPlugin">
+            <!--
+            开启后可以实现官方插件根据属性是否为空决定是否插入该字段功能
+            !需开启allowMultiQueries=true多条sql提交操作,所以不建议使用!插件默认不开启
+            -->
+            <property name="allowMultiQueries" value="false"/>
+        </plugin>
+
+        <!-- 存在即更新插件 -->
+        <plugin type="com.itfsw.mybatis.generator.plugins.UpsertPlugin">
+            <!--
+            支持upsertByExample,upsertByExampleSelective操作
+            !需开启allowMultiQueries=true多条sql提交操作,所以不建议使用!插件默认不开启
+            -->
+            <property name="allowMultiQueries" value="false"/>
+            <!--
+            开启批量功能,支持batchUpsert,batchUpsertWithBLOBs,batchUpserSelective
+            !这几个方法中无法支持IncrementsPlugin的方法!插件默认不开启
+            -->
+            <property name="allowBatchUpsert" value="fasle"/>
+        </plugin>
+
+        <!-- 增量插件 -->
+        <plugin type="com.itfsw.mybatis.generator.plugins.IncrementPlugin"/>
+
+        <!--<table tableName="tb">-->
+        <!--&lt;!&ndash; 配置需要进行增量操作的列名称(英文半角逗号分隔) &ndash;&gt;-->
+        <!--<property name="incrementColumns" value="field1,field2"/>-->
+        <!--</table>-->
+
+        <!-- 查询结果选择性返回插件 -->
+        <plugin type="com.itfsw.mybatis.generator.plugins.SelectSelectivePlugin"/>
+
+        <!-- Selective选择插入更新增强插件 -->
+        <plugin type="com.itfsw.mybatis.generator.plugins.SelectiveEnhancedPlugin"/>
+
+        <!-- Lombok插件 -->
+        <plugin type="com.itfsw.mybatis.generator.plugins.LombokPlugin">
+            <!-- @Data 默认开启,同时插件会对子类自动附加@EqualsAndHashCode(callSuper = true),@ToString(callSuper = true) -->
+            <property name="@Data" value="true"/>
+            <!-- @Builder 必须在 Lombok 版本 >= 1.18.2 的情况下开启,对存在继承关系的类自动替换成@SuperBuilder -->
+            <property name="@Builder" value="false"/>
+            <!-- @NoArgsConstructor 和 @AllArgsConstructor 使用规则和Lombok一致 -->
+            <property name="@AllArgsConstructor" value="false"/>
+            <property name="@NoArgsConstructor" value="false"/>
+            <!-- @Getter、@Setter、@Accessors 等使用规则参见官方文档 -->
+            <property name="@Accessors(chain = true)" value="false"/>
+            <!-- 临时解决IDEA工具对@SuperBuilder的不支持问题,开启后(默认未开启)插件在遇到@SuperBuilder注解时会调用ModelBuilderPlugin来生成相应的builder代码 -->
+            <property name="supportSuperBuilderForIdea" value="false"/>
+        </plugin>
+
+        <plugin type="org.mybatis.generator.plugins.SerializablePlugin"/>
+
+        <!-- Mapper注解插件 -->
+        <plugin type="com.itfsw.mybatis.generator.plugins.MapperAnnotationPlugin">
+            <!-- @Mapper 默认开启 -->
+            <property name="@Mapper" value="true"/>
+            <!-- @Repository 默认关闭,开启后解决IDEA工具@Autowired报错 -->
+            <property name="@Repository" value="true"/>
+        </plugin>
+
+        <!--<plugin type="org.mybatis.generator.plugins.ToStringPlugin" />-->
+
+        <!--数据库连接配置 need to change-->
+        <jdbcConnection
+                driverClass="com.mysql.cj.jdbc.Driver"
+                connectionURL="jdbc:mysql://121.41.100.198:3306/polardb?nullCatalogMeansCurrent=true&amp;serverTimezone=UTC"
+                userId="root"
+                password="root"/>
+
+        <!--指定自动生成的 POJO置于哪个包下 need to change -->
+        <javaModelGenerator targetPackage="com.book.dao.polardb.entity"
+                            targetProject="src/main/java"/>
+
+        <!--指定自动生成的 mapper.xml置于哪个包下 -->
+        <sqlMapGenerator targetPackage="mapper/polar" targetProject="src/main/resources"/>
+
+        <!--指定自动生成的 DAO接口置于哪个包下 need to change-->
+        <javaClientGenerator targetPackage="com.book.dao.polardb.mapper"
+                             targetProject="src/main/java" type="XMLMAPPER"/>
+
+        <!--指定数据表名,可以使用_和%通配符,可以配置generatedKey,会返回insert之后的id-->
+<!--        <table tableName="book"></table>-->
+<!--        <table tableName="manage_block"></table>-->
+<!--        <table tableName="manage_block_resource"></table>-->
+<!--        <table tableName="book_category"></table>-->
+<!--        <table tableName="user"></table>-->
+<!--        <table tableName="search_keyword"></table>-->
+<!--        <table tableName="return_recommand"></table>-->
+<!--        <table tableName="bookshelf_recommand"></table>-->
+<!--        <table tableName="smart_recommand"></table>-->
+<!--        <table tableName="ad_user_group_extend"></table>-->
+        <table tableName="ad_user_group_extend"/>
+    </context>
+
+</generatorConfiguration>