code: public static <T> String getInsertSQL(T t, List<Object> values, boolean isWithNullValue) {
          StringBuilder sql = new StringBuilder("INSERT INTO ");
  
          Table table = DOInfoReader.getTable(t.getClass());
          List<Field> fields = DOInfoReader.getColumns(t.getClass());
  
          sql.append(getTableName(table)).append(" (");
          List<Object> _values = new ArrayList<Object>(); // 之所以增加一个临时变量，是避免values初始不是空的易错情况
          String fieldSql = joinAndGetValue(fields, ",", _values, t, isWithNullValue);
          sql.append(fieldSql);
          sql.append(") VALUES ");
          String dotSql = "(" + join("?", _values.size(), ",") + ")";
          sql.append(dotSql);
          values.addAll(_values);
  
          return sql.toString();
  	}
docs: 生成insert语句，将值放到values中。
  @param t
  @param values 必须
  @param isWithNullValue 标记是否将null字段放到insert语句中
  @return