Raccourcis : Contenu - rubriques - sous rubriques
FR

Piste : 1.2.x credits 1.0

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
fr:tutoriels:jelixnews-1.3:utiliser-dao [2011/05/24 12:26] – correction du no du fichier profiles.ini.php mindiellfr:tutoriels:jelixnews-1.3:utiliser-dao [2020/08/03 15:10] (Version actuelle) – modification externe 127.0.0.1
Ligne 2: Ligne 2:
 Jelix propose un système de mapping relationnel objet, jDao, basé sur le pattern DAO. Jelix propose un système de mapping relationnel objet, jDao, basé sur le pattern DAO.
  
-Le pattern DAO se base sur deux types d'objets : un objet "record", contenant des données (représentant un enregistrement), et un objet "factory", qui permet de récupérer des listes de records, ou de créer, sauver, effacer des records.+Le pattern DAO se base sur deux types d'objets : un objet "record", contenant 
 +des données (représentant un enregistrement), et un objet "factory", qui permet 
 +de récupérer des listes de records, ou de créer, sauver, effacer des records.
  
-Concrètement avec jDao, un fichier XML DAO vous permet de définir un record et une factory, qui agiront sur une ou plusieurs tables en même temps. Vous y définissez donc le mapping : quel champs de la table ira dans quelle propriété du record, ainsi que le type de donnée, les clés, sur quelles tables s'effectue le mapping, selon quelles jointures, etc...+Concrètement avec jDao, un fichier XML DAO vous permet de définir un record et 
 +une factory, qui agiront sur une ou plusieurs tables en même temps. Vous y 
 +définissez donc le mapping : quel champs de la table ira dans quelle propriété 
 +du record, ainsi que le type de donnée, les clés, sur quelles tables s'effectue 
 +le mapping, selon quelles jointures, etc...
  
-À partir de ce fichier, jDao génère à la volée deux classes basées respectivement sur jDaoRecordBase et jDaoFactoryBase (qui sont stockées dans un fichier PHP dans le cache de Jelix),  dans lesquelles sont fournies toutes les méthodes et requêtes SQL principales **en dur**. En effet, contrairement à d'autres systèmes de mapping, les requêtes SQL sont donc générées une seule fois, et non pas dynamiquement à chaque appel de pages. Cela permet de meilleures performances.+À partir de ce fichier, jDao génère à la volée deux classes basées respectivement 
 +sur jDaoRecordBase et jDaoFactoryBase (qui sont stockées dans un fichier PHP 
 +dans le cache de Jelix),  dans lesquelles sont fournies toutes les méthodes et 
 +requêtes SQL principales **en dur**. En effet, contrairement à d'autres systèmes 
 +de mapping, les requêtes SQL sont donc générées une seule fois, et non pas 
 +dynamiquement à chaque appel de pages. Cela permet de meilleures performances.
  
 Dans le fichier XML de DAO, vous pouvez aussi définir vos propres méthodes d'accès aux données, et jDao générera les méthodes et requêtes correspondantes dans la factory du DAO. Dans le fichier XML de DAO, vous pouvez aussi définir vos propres méthodes d'accès aux données, et jDao générera les méthodes et requêtes correspondantes dans la factory du DAO.
Ligne 27: Ligne 38:
 Son contenu est le suivant : Son contenu est le suivant :
 <code xml> <code xml>
-<?xml version="1.0" encoding="iso-8859-1"?>+<?xml version="1.0" encoding="utf-8"?>
 <dao xmlns="http://jelix.org/ns/dao/1.0"> <dao xmlns="http://jelix.org/ns/dao/1.0">
   <datasources>   <datasources>
Ligne 33: Ligne 44:
   </datasources>   </datasources>
   <record>   <record>
-    <property name="id_news" fieldname="id_news" datatype="autoincrement"/>+    <property name="id_news" fieldname="id_news" datatype="int" autoincrement="true"/>
     <property name="sujet" fieldname="sujet" datatype="string"/>     <property name="sujet" fieldname="sujet" datatype="string"/>
     <property name="texte" fieldname="texte" datatype="string"/>     <property name="texte" fieldname="texte" datatype="string"/>

fr/tutoriels/jelixnews-1.3/utiliser-dao.1306239998.txt.gz · Dernière modification : 2011/05/24 12:26 de mindiell

Fils rss des changements récents dans le wiki Creative Commons License