Criando classe de conexão - Python + Postgresql

Publicado por Fred Paranhos em 17/09/2010

[ Hits: 23.282 ]

 


Criando classe de conexão - Python + Postgresql



Nesse tutorial criaremos módulos Python para o acesso a uma base de dados PostgreSQL usando o driver psycopg2. Pode ser aproveitado o módulo de conexão e a classe de modelo para ser implementada em projeto orientado a objetos. Espero que gostem!

Primeiramente baixem os fontes ou binários do psycopg2 em:
Agora vai o código do módulo de conexão:

#!/usr/bin/python
# Aqui está a classe que será usada
# como módulo de conexão.


__author__="metalpunkpointer"
__date__ ="$11/08/2010 15:12:27$"

"""
    Envie seu comentários, sugestões e/ou críticas
"""


#driver de conexão com pgsql
import psycopg2

class Connect:

    #atributo global para ser
    #usado no modelo
    global cur;

    #método construtor
    def __init__(self):
        #conexão com banco de dados
        try:
            conn = psycopg2.connect("\
                    dbname='teste'\
                    user='postgres'\
                    host='127.0.1.1'\
                    password='senh@'\
            ");

            self.cur = conn.cursor;
            
        except:
            print "Erro ao se conectar a base de dados!";

    #método destrutor
    def __del__(self):
        print "Conexão finalizada!";
        del self;

Criando modelos

Como foi citado no tópico anterior, segue um exemplo da camada de modelo...

#!/usr/bin/python
# Essa é a classe da camada de modelo
# Onde ficam as queries.


__author__="metalpunkpointer"
__date__ ="$31/08/2010 11:50:27$"

"""
    Envie seu comentários, sugestões e/ou críticas
"""


#importa o módulo de conexão
from conexao import Connect;

class ModeloTeste:

    #método construtor
    def __init__(self):
        print;

    #query para teste
    def query(self):
        #instância da classe de conexão
        conn = Connect();
        #usa o atributo de cursor da classe
        #de conexão para fazer a query
        qry = conn.cur();
        qry.execute("SELECT * FROM pessoas");
        return qry.fetchall();

    #método destrutor
    def __del__(self):
        del self;

Usando as classes

Bem, como o código é bem simplório, não criei a camada de controle... sendo que esse seguinte módulo se encarrega de apresentação e do controle, usado apenas para as instâncias das classes antes criadas. Vamos testar como ficou?

#!/usr/bin/python
# Essa é a classe que irá testar o acesso
# ao banco de dados postgresql

__author__="metalpunkpointer";
__date__ ="$31/08/2010 11:48:24$";

"""
    Envie seu comentários, sugestões e/ou críticas
"""


if __name__ == "__main__":
    print "Olá, esse sera um teste de conexão!";

#importa a classe do modelo
from modeloteste import ModeloTeste;

print "\niniciando teste...\n";

#instância da classe do modelo
#e executa a query
teste = ModeloTeste();
rows = teste.query();

#impressão dos result sets da query
import pprint;
print "\n -- Lista de pessoas -- \n";
pprint.pprint(rows);

Bem, é muito simples se trabalhar com Python e Postgres... experimentem essa sensação e comentem. Até o próximo tutorial!

Outras dicas deste autor
Nenhuma dica encontrada.
Leitura recomendada

Erro ao instalar Fedora 17 usando Kickstart por PXE e com IP fixo [Resolvido]

Verificar triggers desabilitadas no PostgreSQL

Bloqueando Skype

Selecionar versão do Python no Funtoo

PHP4 + HTTPD2

  

Comentários
[1] Comentário enviado por sebuba em 17/09/2010 - 10:02h

Muito bom !

[]'s



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts