이 클래스에서 self.conn은 PostgreSQL 데이터베이스와의 연결을 관리하는 객체입니다. psycopg2 라이브러리를 사용하여 PostgreSQL 데이터베이스에 연결하고, 이 연결을 통해 SQL 명령을 실행하고 데이터베이스와의 상호작용을 합니다.
self.conn의 주요 기능:데이터베이스 연결 관리: self.conn 객체는 데이터베이스 서버와의 연결을 나타냅니다. 데이터베이스 이름, 사용자 이름, 비밀번호, 호스트, 포트 등 연결에 필요한 정보를 기반으로 데이터베이스에 연결합니다.
트랜잭션 관리: self.conn 객체를 사용하여 데이터베이스 트랜잭션을 시작, 커밋 또는 롤백할 수 있습니다. 예를 들어, create_actor, update_actor, delete_actor 메소드에서 데이터베이스 변경 사항을 반영하기 위해 self.conn.commit() 메소드를 호출합니다. 이는 SQL 명령이 성공적으로 실행되었을 때 데이터베이스에 변경 사항을 영구적으로 적용합니다.
커서 생성: 데이터베이스와의 상호작용을 위해 self.conn.cursor() 메소드를 호출하여 커서 객체를 생성합니다. 커서 객체를 사용하여 SQL 쿼리를 실행하고, 결과를 가져오고, 데이터베이스에 변경 사항을 적용합니다.
연결 종료: close() 메소드 내에서 self.conn.close()를 호출하여 데이터베이스 연결을 안전하게 종료합니다. 이 작업은 모든 데이터베이스 작업이 완료된 후에 수행되어야 합니다.
ActorCRUD 클래스의 인스턴스가 생성될 때 __init__ 메소드는 connect 메소드를 호출하여 self.conn을 초기화하고 데이터베이스 연결을 시도합니다.create_actor, read_actor, update_actor, delete_actor)을 수행할 때 각 메소드는 self.conn.cursor()를 호출하여 커서 객체를 생성하고, 해당 커서를 사용하여 SQL 명령을 실행합니다.close 메소드를 호출하여 self.conn.close()를 통해 데이터베이스 연결을 종료합니다.self.conn.commit()을 호출하지 않고 데이터베이스 연결을 종료하면, 해당 세션에서 수행된 모든 변경 사항이 롤백됩니다.connect 메소드에서 try-except 블록을 사용하여 연결 시도 중 발생하는 예외를 캡처하고 있습니다.