Klasse :: AutoDB

Bijna automatische Object Persistentie naast elkaar bestaan met een mens-ontwikkelde database
Download nu

Klasse :: AutoDB Rangschikking & Samenvatting

Advertentie

  • Rating:
  • Vergunning:
  • Perl Artistic License
  • Naam uitgever:
  • Nathan Goodman
  • Uitgever website:
  • http://search.cpan.org/~natg/

Klasse :: AutoDB Tags


Klasse :: AutoDB Beschrijving

Bijna automatische voorwerppersistentie naast elkaar met mens-ontwikkelde database Klasse :: Autodb is een PERL-module die nauw samenwerkt met Klasse :: AutoClass om bijna transparante voorwerpen Persistentie te bieden die naast een mens-ontwikkelde database kan bestaan. Het automatische persistentmechanisme biedt haken voor het aansluiten van de twee delen van de database samen. Synopsis # -code die Persistent Class # Package-persoon definieert; Gebruik basis QW (Klasse :: Autoclass); Gebruik VARS QW (@Auto_attributes% autodb); @ Auto_attributes = qw (naam geslachts-ID-vrienden); % Autodb = (collectie => 'persoon', sleutels => QQ (naamreeks, sex string, ID integer)); Klasse :: Autoclass :: declareren; ######################################### #code die Persistent Class # Create and Store gebruikt Nieuwe objecten # gebruik klasse :: AutoDB; gebruik persoon; Mijn $ Autodb = Nieuwe Klasse :: Autodb (database => 'Test'); # Open database # Maak enkele objecten. Nog niet opgeslagen in de database Mijn $ Joe = Nieuwe Persoon (naam => 'Joe', Sex => 'M', ID => 1); Mijn $ Mary = Nieuwe Persoon (naam => 'Mary', Sex => 'F', ID => 2); Mijn $ Bill = Nieuwe Persoon (naam => 'Bill', Sex => 'M', ID => 3); # Stel vriendenlijsten in. Elk is een lijst met persoon Objects $ Joe-> Vrienden ($ Mary, $ Bill]); $ Mary-> Vrienden ($ Joe, $ Bill]); $ BILL-> VRIENDEN (); # winkel objecten in database $ autodb-> put_objects; # Haal bestaande objecten op # gebruik klasse :: Autodb; gebruik persoon; Mijn $ Autodb = Nieuwe Klasse :: Autodb (database => 'Test'); # Haal lijst van objecten ophalen Mijn @ Personen = $ Autodb-> Get (verzameling => 'persoon'); # Iedereen mijn @ MALES = $ AUTODB-> GET (COLLECTION => 'PERSOON', SEX => 'M'); # Alleen de jongens # doen iets met de opgehaalde objecten, bijvoorbeeld, print vrienden lijsten voor mijn $ persoon (@persons) {my @ friend_names = kaart {$ _-> naam} @ {$ persoon-> vrienden}; Print $ PERSOON-> NAAM, "Vrienden zijn @friend_names \ N"; } # Ophalen en proces Objecten One-by-One My $ Cursor = $ Autodb-> Find (verzameling => 'persoon'); Terwijl (mijn $ persoon = $ cursor-> get_next) {# doe wat je wilt met $ persoon, bijvoorbeeld, print vrienden lijst mijn @ friend_names = kaart {$ _-> naam} @ {$ persoon-> vrienden}; Print $ PERSOON-> NAAM, "Vrienden zijn @friend_names \ N"; } # Connect Auto-Persistent Objecten met Engineered Tables # Assume-database heeft Human-Engineered Tables # Dept (ID INT, NAME VARCHAR (255)), Empdept (EMP_ID INT, DEPT_ID INT) # Deze query haalt de namen van JOE's afdelingen op DBI ; mijn $ dbh = $ autodb-> dbh; Mijn $ Depts = $ DBH-> SELECTCOL_ARRYREF (QQ (selecteer dept.name van dept, empdept, persoon waarbij dept.id = empdept.dept_id en empdept.emp_id = persoon.id en persoon.name = 'Joe')); ################################################ # Nieuwe functies in veronie 1.20 # Ophalen van objecten SQL # Aangenomen van de bovengenoemde database (met mens-engineered tafels dept en empdept), # Deze query haalt persoon objecten op voor werknemers in de speelgoedafdeling My @ toy_persons = $ autodb-> krijgen (SQL => QQ (selecteer OID van dept, Empdept , Persoon waarbij dept.id = empdept.dept_id en empdept.emp_id = persoon.id en dept.name = 'speelgoed')); # Haal alle objecten op My @ all_objects = $ autodb-> krijgen; # Delete objecten # $ autodb-> del (@males); # Verwijder de jongensvereisten: · Perl


Klasse :: AutoDB Gerelateerde software