def insert(self, gruppenteilnahme: GruppenTeilnahme):
        """Einfügen eines GruppenTeilnahme-Objekts in die Datenbank.

        Der Primärschlüssel wird dabei überprüft und ggf. berechtigt.

        :param: gruppenteilnahme: Das zu speichernde Objekt
        :return: Das bereits übergebene Objekt, jedoch mit ggf, korrigierter ID.
        """
        cursor = self._cnx.cursor()
        cursor.execute("SELECT MAX(id) AS maxid FROM gruppen_teilnahmen")
        tuples = cursor.fetchall()

        for maxid in tuples:
            if maxid[0] is not None:
                gruppenteilnahme.set_id(maxid[0] + 1)
            else:
                gruppenteilnahme.set_id(1)

        command = (
            "INSERT INTO gruppen_teilnahmen (id, erstellungszeitpunkt, person_id, gruppen_id, ist_admin) VALUES "
            "(%s,%s,%s,%s,%s)")

        data = (
            gruppenteilnahme.get_id(),
            gruppenteilnahme.get_erstellungszeitpunkt(),
            gruppenteilnahme.get_person_id(),
            gruppenteilnahme.get_gruppen_id(),
            gruppenteilnahme.get_ist_admin(),
        )
        cursor.execute(command, data)

        self._cnx.commit()
        cursor.close()

        return gruppenteilnahme
    def update(self, gruppenteilnahme: GruppenTeilnahme):
        """Aktualisieren eines GruppenTeilnahme-Objekts in der Datenbank anhand seiner ID

        :param gruppenteilnahme: Das GruppenTeilnahme-Objekt, das in der Datenbank übergeschrieben werden soll
        """
        cursor = self._cnx.cursor()

        command = (
            "UPDATE gruppen_teilnahmen SET person_id=%s, gruppen_id=%s, ist_admin=%s "
            "WHERE id=%s")
        data = (
            gruppenteilnahme.get_person_id(),
            gruppenteilnahme.get_gruppen_id(),
            gruppenteilnahme.get_ist_admin(),
            gruppenteilnahme.get_id(),
        )
        cursor.execute(command, data)

        self._cnx.commit()
        cursor.close()
        :param gruppenteilnahme: Das aus der Datenbank zu löschende Objekt
        """
        cursor = self._cnx.cursor()

        command = "DELETE FROM gruppen_teilnahmen WHERE id={}".format(
            gruppenteilnahme.get_id())
        cursor.execute(command)

        self._cnx.commit()
        cursor.close()


if __name__ == "__main__":
    with GruppenTeilnahmeMapper() as mapper:

        neu = GruppenTeilnahme()
        neu.set_id(3)
        neu.set_person_id(3)
        neu.set_gruppen_id(50)
        neu.get_ist_admin()

        mapper.insert(neu)

        result = mapper.find_all()
        for p in result:
            print(p.__dict__)

        print("TESTTEST")

        mapper.delete(neu)