The contrib module Commerce Migrate provides a few destination classes that extend the Entity API destination class provided by Migrate Extras.

When declaring the destination map, use "commerce_product" as the entity type (which is defined by the Commerce module suite), and "my_product_type" as the bundle type.

The following class imports commerce products. "sku" and "commerce_price" mappings are relevant to products. In the following example, "my_product_type" is the machine name of the commerce product type (defined via UI config), "import_database" is the import database name (defined in settings.php), and "import_data" is the table in that database where the import data exists. In the source map, "ItemNumber" is the unique identifier column in the table.

class AseEndoMigration extends Migration {
  /**
   * Doc comment.
   */
  public function __construct() {
    parent::__construct();

    // The defintion of the columns.
    $columns = array(
      'Category',
      'Name',
      'ItemNumber',
      'Description',
      'USRetailPrice',
    );

    // Entity type, and bundle.
    $this->destination = new MigrateDestinationCommerceProduct('commerce_product', 'my_product_type');

    // Select all endodontic products.
    $query = Database::getConnection('default', 'import_database')
             ->select('import_data', 'd')
             ->fields('d', $columns)
             ->condition('Category', 'ENDO');

    $this->source = new MigrateSourceSQL($query);

    // Source and destination relation for rollbacks.
    $this->map = new MigrateSQLMap(
      $this->machineName,
      array(
        'ItemNumber' => array(
          'type' => 'varchar',
          'length' => 64,
          'not null' => TRUE,
        ),
      ),
      MigrateDestinationCommerceProduct::getKeySchema('commerce_product')
    );

    $this->addFieldMapping('sku', 'ItemNumber');
    $this->addFieldMapping('title', 'Name');
    $this->addFieldMapping('field_part_description', 'Description');
    $this->addFieldMapping('commerce_price', 'USRetailPrice');

  }
}