def bulk_insert_many(session, mapper, mappings):
    """
    Perform a bulk insert into table/statement represented by `mapper` while utilizing the
    ``executemany()`` DBAPI call.

    See :meth:`bulk_insert` for bulk inserts using a multi-row VALUES
    clause for a single INSERT statement.

    Args:
        session (Session): SQLAlchemy session object.
        mapper: An ORM class or SQLAlchemy insert-statement object.
        mappings (list): List of ``dict`` objects to insert.

    Returns:
        ResultProxy
    """
    if hasattr(mapper, "__table__"):
        insert_stmt = mapper.__table__.insert()
    else:
        insert_stmt = mapper
    return session.execute(insert_stmt.values(), mappings)