Bonjour, je m'essaye à IBatis mais je cale sur une petite requête dynamique :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
<resultMap id="getDynam" class="fr.kcaldos">
        <result property="dndl" column="DNDL"/>
        <result property="ncal" column="NCAL"/>
        <result property="datcom" column="DATCOM"/>
    </resultMap>
 
    <select id="dynamis" parameterClass="java.util.Map"
                         resultMap="getDynam">
          SELECT dndl, ncal, datcom from kcaldos 
          <dynamic prepend="WHERE">
              <isNotNull prepend="AND" property="eced">
                  eced=#eced#
              </isNotNull>
              <isNotNull prepend="AND" property="demc">
                 demc=#demc#
              </isNotNull>
           </dynamic>
                  datcom > to_date('01/01/2007','DD/MM/YYYY')     
   </select>
Par exemple si eced n'est pas null, je voudrais executer:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
SELECT dndl, ncal, datcom from kcaldos 
where eced=#eced#
and datcom > to_date('01/01/2007','DD/MM/YYYY')
ou si les 2 propriétés sont nulles:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
SELECT dndl, ncal, datcom from kcaldos where datcom > to_date('01/01/2007','DD/MM/YYYY')
A l'execution, j'ai l'erreur suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
run:
 
--- The error occurred while applying a parameter map.  
--- Check the dynamis-InlineParameterMap.  
--- Check the statement (query failed).  
--- Cause: java.sql.SQLException: ORA-00933: La commande SQL ne se termine pas correctement
Je vois pas trop ce qui coince !?