core/src/main/java/io/mybatis/provider/defaults/DefaultProvider.java
@Override
  public String dynamicSQL(Object parameterObject, ProviderContext context) {
    // The following judgment is made because the user is allowed to directly specify the current implementation,
    // such as the following configuration:
    // @DeleteProvider(type = DefaultProvider.class, method = "dynamicSQL")
    // At this point, because there is no processing by the BeanFactory, you need to call the init method separately.
    if (properties == null) {
      ProviderFactory.init(this);
    }
    //The sqlXml obtained here is really dynamic SQL
    String sqlXml = new ProviderSqlSource(parameterObject, context).createSql();
    //This wrap SQL and returns a UUID
    return Providers.wrapResult(sqlXml, context);
  }
/**
   * Create SQL, the actual return is UUID
   *
   * @param parameterObject
   * @param context
   * @return
   */
Create SQL, the actual return is UUID
@param parameterObject
@param context
@return
Create SQL the actual return is UUID @param parameterObject @param context @return
@Override
  public String dynamicSQL(Object parameterObject, ProviderContext context) {
    if (properties == null) {
      ProviderFactory.init(this);
    }
    String sqlXml = new ProviderSqlSource(parameterObject, context).createSql();
    return Providers.wrapResult(sqlXml, context);
  }
@ Override public String dynamicSQL ( Object parameterObject , ProviderContext context ) { if ( properties == null ) { ProviderFactory . init ( this ) ; } String sqlXml = new ProviderSqlSource ( parameterObject , context ) . createSql ( ) ; return Providers . wrapResult ( sqlXml , context ) ; }
Create SQL, the actual return is UUID
 @param parameterObject
 @param context
 @return
Create SQL the actual return is UUID @param parameterObject @param context @return
// The following judgment is made because the user is allowed to directly specify the current implementation, // such as the following configuration: // @DeleteProvider(type = DefaultProvider.class, method = "dynamicSQL") // At this point, because there is no processing by the BeanFactory, you need to call the init method separately. //The sqlXml obtained here is really dynamic SQL //This wrap SQL and returns a UUID