Question

J'ai conversationScope.myVar = variable "maValeur";

Je voudrais l'utiliser dans une carte mybatis comme,

select col1, col1, conversationScope.myVar as ScopeVar
from table1;

desired result

col1  col2  ScopeVar

xxxx  xxxx   myValue

yyyy  yyyy   myValue

...
Était-ce utile?

La solution

mybatis pris en charge par SQL dynamique dans la nature dont vous avez besoin. La grande astuce est d'utiliser $ {variable} au lieu de # {variable}. Faites juste attention, il vous laisse vulnérable aux attaques par injection SQL. Lors de l'utilisation # utilisations de mybatis PreparedStatements pour éviter une injection SQL, puis

Alors, prenez par exemple par exemple, vous aviez une interface Mapper avec la méthode.

ComplexObject selectSomeObject(@Param("columnName") String columnName);

Votre carte SQL pourrait utiliser le paramètre dans une partie du code de sélection réel.

i.e..

<select id="selectSomeObject" resultType="someObject"> 
    select t1.column as ${columnName}    
    from table1 t1
 </select>

Si vous avez besoin d'une variable globale, consultez cette question. mybatis - définir un paramètre global

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top