Criando classe de conexão - Python + Postgresql

Publicado por Fred Paranhos em 17/09/2010

[ Hits: 23.358 ]

 


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

Arch Linux no Dell Inspiron 1440

FlareGet, acelerador de downloads no Ubuntu

Como configurar seu teclado em esperanto no Ubuntu 8.04

Borracha e pincel quadrados e preenchidos no Gimp

Nomeando / renomeando uma partição de disco

  

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