docs: public void setProperties(Properties properties) {
          if (properties == null) {
              //默认驼峰
              this.style = Style.camelhump;
              return;
          }
          String IDENTITY = properties.getProperty("IDENTITY");
          if (StringUtil.isNotEmpty(IDENTITY)) {
              setIDENTITY(IDENTITY);
          }
          String seqFormat = properties.getProperty("seqFormat");
          if (StringUtil.isNotEmpty(seqFormat)) {
              setSeqFormat(seqFormat);
          }
          String catalog = properties.getProperty("catalog");
          if (StringUtil.isNotEmpty(catalog)) {
              setCatalog(catalog);
          }
          String schema = properties.getProperty("schema");
          if (StringUtil.isNotEmpty(schema)) {
              setSchema(schema);
          }
  
          //ORDER 有三个属性名可以进行配置
          String ORDER = properties.getProperty("ORDER");
          if (StringUtil.isNotEmpty(ORDER)) {
              setOrder(ORDER);
          }
          ORDER = properties.getProperty("order");
          if (StringUtil.isNotEmpty(ORDER)) {
              setOrder(ORDER);
          }
          ORDER = properties.getProperty("before");
          if (StringUtil.isNotEmpty(ORDER)) {
              setBefore(Boolean.valueOf(ORDER));
          }
  
  
          this.notEmpty = Boolean.valueOf(properties.getProperty("notEmpty"));
          this.enableMethodAnnotation = Boolean.valueOf(properties.getProperty("enableMethodAnnotation"));
          this.checkExampleEntityClass = Boolean.valueOf(properties.getProperty("checkExampleEntityClass"));
          //默认值 true，所以要特殊判断
          String useSimpleTypeStr = properties.getProperty("useSimpleType");
          if (StringUtil.isNotEmpty(useSimpleTypeStr)) {
              this.useSimpleType = Boolean.valueOf(useSimpleTypeStr);
          }
          this.enumAsSimpleType = Boolean.valueOf(properties.getProperty("enumAsSimpleType"));
          //注册新的基本类型，以逗号隔开，使用全限定类名
          String simpleTypes = properties.getProperty("simpleTypes");
          if (StringUtil.isNotEmpty(simpleTypes)) {
              SimpleTypeUtil.registerSimpleType(simpleTypes);
          }
          //使用 8 种基本类型
          if (Boolean.valueOf(properties.getProperty("usePrimitiveType"))) {
              SimpleTypeUtil.registerPrimitiveTypes();
          }
          String styleStr = properties.getProperty("style");
          if (StringUtil.isNotEmpty(styleStr)) {
              try {
                  this.style = Style.valueOf(styleStr);
              } catch (IllegalArgumentException e) {
                  throw new MapperException(styleStr + "不是合法的Style值!");
              }
          } else {
              //默认驼峰
              this.style = Style.camelhump;
          }
          //处理关键字
          String wrapKeyword = properties.getProperty("wrapKeyword");
          if (StringUtil.isNotEmpty(wrapKeyword)) {
              this.wrapKeyword = wrapKeyword;
          }
          //安全删除
          this.safeDelete = Boolean.valueOf(properties.getProperty("safeDelete"));
          //安全更新
          this.safeUpdate = Boolean.valueOf(properties.getProperty("safeUpdate"));
          //是否设置 javaType，true 时如 {id, javaType=java.lang.Long}
          this.useJavaType = Boolean.valueOf(properties.getProperty("useJavaType"));
      }