Linux slogan
Visite também: Segurança Linux · BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
Linux: Ubuntu Dapper + Xgl
Por mordecai
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha


Dica

Criando classe de conexão - Python + Postgresql
Linux user
Publicado por Fred Paranhos em 17/09/2010

Login: metalpunkpointer, 6411 pontos
[ Hits: 3828 ]

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
   Dica Linux recomendada Webmail Squirrelmail - Tradução pt_BR
   Dica Linux recomendada Ufraw - Tratando e revelando arquivos raw
   Dica Linux recomendada Instalando o BURG no Ubuntu 10.04 LTS
   Dica Linux recomendada Desvendando os acrônimos do Linux
   Dica Linux recomendada Sopcast no Ubuntu 10.04 em 2 minutos

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

Muito bom !

[]'s


Contribuir com comentário


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.