Présentation des méthodes intégrées

Lorsque vous utilisez le style de programmation intégrée, vous pouvez coder vos requêtes SQL, instructions de mise à jour ou instructions CALL en mode intégré dans vos applications. Une instruction SQL apparaît sous la forme d'un paramètre dans l'appel d'une méthode.

Voici certains des avantages liés à l'utilisation des méthodes intégrées :

Toutes les méthodes intégrées sont définies dans l'interface Data, laquelle définit les méthodes de requête et de mise à jour des bases de données, d'exécution des procédures mémorisées, de requête d'objets Collection et Iterator et de gestion des transactions.

Types de méthodes de requête dans l'interface Data

Les méthodes de requête peuvent se classer en deux groupes.

Méthodes de requête qui renvoient des résultats sous forme de beans individuels ou d'objets scalaires, ou sous forme de beans ou d'objets scalaires regroupés en objets Array, List ou Iterator
La classe du bean de renvoi est transmise sous la forme d'un paramètre. Voici quelques exemples :
Employee employee = data.queryFirst("SELECT * FROM HRDEPT.EMP WHERE lastname = ?1", 
     Employee.class, lastName);

List<Employee> employees = data.queryList("SELECT * FROM HRDEPT.EMP",  Employee.class);

Employee[] employees = data.queryArray("SELECT * FROM HRDEPT.EMP", Employee.class);

Iterator<Employee> employees = data.queryIterator("SELECT * FROM HRDEPT.EMP", 
     Employee.class);
Méthodes de requête qui renvoient des résultats sous forme d'objets Map individuels ou d'objets Map regroupés en objets Array, List ou Iterator
Dans un objet Map, les libellés de colonne deviennent des clés String et les valeurs des colonnes deviennent des valeurs Object. Voici deux exemples :
Map<String,Object> employee = data.queryFirst("SELECT * FROM HRDEPT.EMP WHERE lastname=?1", 
     lastName);

List<Map<String,Object>> employees = data.queryList("SELECT * FROM  HRDEPT.EMP"
     + "WHERE lastname LIKE ?", "Br%");

Insertions, mises à jour et suppressions

Vous utilisez la méthode Data.update() pour les opérations uniques.

Employee newEmployee =
   new Employee("000010", "CHRISTINE", "I", "HAAS", "A00", 
      "3978", new java.sql.Date(System.currentTimeMillis()));

int rowsAffected = data.update("insert into hrdept.emp (id, firstname, midinit, lastname, deptno," 
     + "phoneext, hiredate)  VALUES (:id, :firstName, :midInit, :lastName, :deptNo, :phoneExt, :hireDate)", 
     newEmployee);

Employee employee =
   new Employee("000010", "CHRISTINE", "I", "HAAS", "A00", 
      "3978", new java.sql.Date(System.currentTimeMillis()));

int rowsAffected = data.update("update hrdept.emp set firstname = :firstName, midinit = :midInit," 
     + "lastname = :lastName, deptno = :deptNo, phoneext = :phoneExt, hiredate = :hireDate WHERE id = :id", employee);

int rowsAffected = data.update("delete from hrderp.emp where id=?1", id);

Vous utilisez la méthode Data.updateMany() pour réaliser une opération de mise à jour à plusieurs reprises.


Commentaires