Classe :: AutoDB.

Persistência de objeto quase automático coexistindo com banco de dados de engenharia humana
Baixe Agora

Classe :: AutoDB. Classificação e resumo

Propaganda

  • Rating:
  • Licença:
  • Perl Artistic License
  • Nome do editor:
  • Nathan Goodman
  • Site do editor:
  • http://search.cpan.org/~natg/

Classe :: AutoDB. Tag


Classe :: AutoDB. Descrição

Persistência de objeto quase automático coexistindo com banco de dados humano Classe :: AutoDB é um módulo Perl que trabalha em estreita colaboração com a classe :: Autoclasse para fornecer persistência quase transparente que pode coexistir com um banco de dados de engenharia humana. O mecanismo de persistência automática fornece ganchos para conectar as duas partes do banco de dados juntos.Synopsis # código que define a pessoa do pacote de classe persistente; Use a base QW (Classe :: Autoclass); Use vars qw (@auto_attributes% AutoDB); @ Auto_attributes = QW (Nome Sex Id Amigos); % AutoDB = (Coleta => 'PESSOA', Keys => QQ (String Nome, String Sex, Integer de ID)); Classe :: Autoclasse :: Declare; ######################################## # código que usa a classe persistente # criar e armazenar Novos objetos # usam classe :: autodb; usar pessoa; Meu $ AutoDB = Nova Classe :: AutoDB (banco de dados => 'teste'); # Open Database # Faça alguns objetos. ainda não armazenado no banco de dados Minha $ Joe = nova pessoa (nome => 'Joe', sexo => 'm', id => 1); Meu $ Mary = nova pessoa (nome => 'Mary', sexo => 'f', id => 2); Minha $ Bill = nova pessoa (nome => 'Bill', sexo => 'm', id => 3); # Configurar listas de amigos. Cada uma é uma lista de objetos de pessoa $ Joe-> Amigos (); $ Mary-> Amigos (); $ Bill-> Amigos (); # Armazenar objetos no banco de dados $ autodb-> put_objects; # Recuperar Objetos Existentes # Use Classe :: AutoDB; usar pessoa; Meu $ AutoDB = Nova Classe :: AutoDB (banco de dados => 'teste'); # Recuperar lista de objetos minhas pessoas @ pessoas = $ autodb-> get (coleção => 'pessoa'); # todos my @ machos = $ autodb-> get (coleção => 'pessoa', sexo => 'm'); # Apenas os meninos # Faça algo com os objetos recuperados, por exemplo, print listas de amigos para minha pessoa $ Person (@persons) {my @ friend_names = map {$ _-> name} @ {$ pessoa-> amigos}; Imprimir $ Person-> Nome, "Amigos são @Friend_names \ n"; } # Recuperar e processar objetos um por um meu $ cursor = $ AutoDB-> Encontrar (coleção => 'pessoa'); while (my $ Pessoa = $ Cursor-> get_next) {# Faça o que você deseja com $ PESSOA, por exemplo, imprimir amigos listar meu @ friend_names = map {$}}} @ {$ pessoa-> amigos}; Imprimir $ Person-> Nome, "Amigos são @Friend_names \ n"; } # Conectar Objetos Auto-Persistentes com Tabelas Engenharadas # Assumir Banco de Dados Tem Tabelas Engenharia Humana # Departamento (ID Int, Nome Varchar (255)), EmpDept (Emp_id Int, DEPT_ID INT) # Esta consulta recupera os nomes dos departamentos de Joe use o DBI ; Meu $ DBH = $ AutoDB-> DBH; Meus $ Deports = $ dbh-> selectcol_arrayref (QQ (selecione dept.name do departamento, empdpt, pessoa onde dept.id = empdept.dept_id e empdept.emp_id = person.id e pessoa.name = 'Joe')); ######################################## # Novos recursos no Verion 1.20 # Recuperar objetos usando SQL # Assumindo o banco de dados acima (com tabelas de projetos humanos departamento e empexpt), # Esta consulta recupera objetos de pessoa para funcionários no departamento de brinquedos My @ toy_persons = $ autodb-> get (sql => qq (selecione oid do departamento, empdpt , Pessoa onde dept.id = empdept.dept_id e empdept.emp_id = person.id e dept.name = 'brinquedo')); # Recuperar todos os objetos My @ all_objects = $ autodb-> get; # Excluir objetos # $ AutoDB-> del (@males); # Excluir os requisitos dos meninos: · Perl.


Classe :: AutoDB. Software Relacionado

Htmltmpl.

mescla dados de tempo de execução com o arquivo de modelo HTML estático ...

151

Download