Frage

Ich habe ein Gesprächscope.myvar = "myValue" Variable;

Ich würde es gerne in einer MyBatis -Karte wie, verwenden, z.

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

desired result

col1  col2  ScopeVar

xxxx  xxxx   myValue

yyyy  yyyy   myValue

...
War es hilfreich?

Lösung

MyBatis unterstützt dynamische SQL in der Natur, die Sie brauchen. Der große Trick besteht darin, $ {variable} anstelle von #{variable} zu verwenden. Seien Sie einfach vorsichtig, es lässt Sie anfällig für SQL -Injektionsangriffe. Bei Verwendung # mybatis verwendet mybatis vorbereitete statements, um eine SQL -Injektion und dann zu vermeiden, und dann

Nehmen wir zum Beispiel zum Beispiel eine Mapper -Schnittstelle mit Methode.

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

Ihre SQL -Karte kann den Parameter in einem Teil des tatsächlichen SELECT -Codes verwenden.

dh

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

Wenn Sie eine globale Variable benötigen, lesen Sie diese Frage. MyBatis - Definieren eines globalen Parameters

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top