code: public static String insertColumns(Class<?> entityClass, boolean skipId, boolean notNull, boolean notEmpty) {
          StringBuilder sql = new StringBuilder();
          sql.append("<trim prefix=\"(\" suffix=\")\" suffixOverrides=\",\">");
          //获取全部列
          Set<EntityColumn> columnSet = EntityHelper.getColumns(entityClass);
          //当某个列有主键策略时，不需要考虑他的属性是否为空，因为如果为空，一定会根据主键策略给他生成一个值
          for (EntityColumn column : columnSet) {
              if (!column.isInsertable()) {
                  continue;
              }
              if (skipId && column.isId()) {
                  continue;
              }
              if (notNull) {
                  sql.append(SqlHelper.getIfNotNull(column, column.getColumn() + ",", notEmpty));
              } else {
                  sql.append(column.getColumn() + ",");
              }
          }
          sql.append("</trim>");
          return sql.toString();
      }
docs: insert table()列
  
  @param entityClass
  @param skipId      是否从列中忽略id类型
  @param notNull     是否判断!=null
  @param notEmpty    是否判断String类型!=''
  @return