Premiers pas avec ActiveRecord

##Java En Java, le modèle activerecord n’est pas très populaire. Bien qu’il existe certaines implémentations :

  • http://arjava.sourceforge.net/
  • http://javalite.io/
  • http://www.javalobby.org/articles/activeobjects/
  • http://www.jooq.org/

Rubis sur rails

Le modèle ActiveRecord a été popularisé par Rails. C’est l’ORM par défaut.

Conventions

Rails ActiveRecord est piloté par des conventions : les noms de classe sont mappés aux noms de table, les noms de champ sont mappés aux noms de champ, les clés étrangères et primaires doivent être nommées en conséquence. Ces conventions peuvent être outrepassées.

Requête

Ayant le schéma suivant :

CREATE TABLE products (
   id int(11) NOT NULL auto_increment,
   name varchar(255),
   PRIMARY KEY  (id)
);

Et le code suivant :

class Product < ApplicationRecord
end
p = Product.new
p.name = "Some Book"
p.save!

Produira la déclaration suivante :

INSERT INTO products (name) VALUES ("Some Book");

Pseudo-code

Le modèle peut être illustré par le pseudo-code suivant :

product = new Product()
product.name = "Some Book"
product.price = 123.45
product.save()

Le SQL suivant serait un résultat :

INSERT INTO products (name, price) VALUES ('Some Book', 123.45);