1
2
3
4
5
6
7 package salto.tool.jdo.util;
8
9 import salto.tool.jdo.data.JdoColInfo;
10 import salto.tool.sql.data.TableColInfo;
11
12 /***
13 * @author Loiez
14 */
15 public interface IJdbcConvert {
16 /***
17 * Cette méthode permet de retourner la fonction du ResultSet qui sera utilisé
18 pour récupérer les données.
19 Cette méthode a un impact sur les performances de la base de donnée et cela dépend
20 de la manière dont est créé le driver JDBC
21 Voici quelques informations concernant les différentes fonctions possibles
22 //non géré par les do
23 Array getArray(int i) throws SQLException;
24 Ref getRef(int i) throws SQLException;
25
26 les fonctions suivantes ne seront à priori jamais géré par les do car il est
27 important de fermer les flux or ceci ne peut pas être fait automatiquement.
28 Ces méthodes sont donc réservés à du travail d'expertise, l'invers des DO!!!!
29 java.io.InputStream getAsciiStream(int columnIndex) throws SQLException;
30 java.io.InputStream getBinaryStream(int columnIndex)
31 throws SQLException;
32 java.io.Reader getCharacterStream(int columnIndex) throws SQLException;
33 java.io.InputStream getUnicodeStream(int columnIndex) throws SQLException;
34
35
36 boolean getBoolean(int columnIndex) throws SQLException;
37 byte getByte(int columnIndex) throws SQLException;
38
39 //stockage d'objet voir le package
40 byte[] getBytes(int columnIndex) throws SQLException;
41 Blob getBlob(int i) throws SQLException;
42 Clob getClob(int i) throws SQLException;
43
44 //type primitif
45 Ces méthodes sont en règle générale les plus performantes
46 short getShort(int columnIndex) throws SQLException;
47 int getInt(int columnIndex) throws SQLException;
48 long getLong(int columnIndex) throws SQLException;
49 double getDouble(int columnIndex) throws SQLException;
50 float getFloat(int columnIndex) throws SQLException;
51
52 String getString(int columnIndex) throws SQLException;
53
54 Seul un nombre exceptionnel justifie l'utilisation de ces méthodes
55 D'une manière générale, il faut essayer d'éviter ces méthodes
56 car
57 1 - Ces nombres sont peu pratiques à gérer pour les développeurs
58 2 - ce n'est pas, en règle général, les méthodes les plus performantes pour les drivers
59
60 BigDecimal getBigDecimal(int columnIndex) throws SQLException;
61 BigDecimal getBigDecimal(int columnIndex, int scale) throws SQLException;
62
63 A éviter pour des problèmes de performance
64 Cette méthode est justement créé pour éviter l'utilisation de cette Méthode
65
66 Object getObject(int columnIndex) throws SQLException;
67
68
69
70 Attention aux types Time et Date qui comportent énormément de méthodes dépréciés
71 Il est donc préférable de gérer toutes les dates de manière uniforme avec le type
72 Timestamp
73
74 java.sql.Time getTime(int columnIndex) throws SQLException;
75 java.sql.Timestamp getTimestamp(int columnIndex) throws SQLException;
76 java.sql.Date getDate(int columnIndex) throws SQLException;
77
78 * Date de création : (20/10/01 09:10:54)
79 * @return java.lang.String
80 * @param attInfo salto.tool.jdo.JdoInfo
81 */
82 public String convert(JdoColInfo attInfo);
83
84 /***
85 * Retourne les types java possibles pour le type SQL passé en paramètre
86 * @return
87 */
88 public String[] getJavaPossTyp(TableColInfo attInfo);
89 }