Mehrere Argumente in ein SELECT übergeben, ohne ein komplexes Objekt zu verwenden

8

Ich versuche, startSequenceId , stopSequenceId , orderNumber in die SQL-Map zu übergeben, aber ich möchte kein typisiertes Objekt verwenden, zB parameterType="com.abc.Order" , kann ich das tun?

%Vor%     
Oh Chin Boon 16.02.2012, 09:00
quelle

5 Antworten

7

@Chin Ich poste trotzdem, was ich eingegeben habe, mit einem einfachen Beispiel, obwohl du gefunden hast, wonach du suchst. Mein Beispiel mit iBatis 2.3.4

%Vor%

Hoffe, das hilft.

    
MalsR 16.02.2012, 09:39
quelle
15

Sie können den eingebauten ParameterTyp 'map' zB

verwenden %Vor%     
johnm 24.05.2013 09:58
quelle
5

In MyBatis 3 können Sie @Param Annotation in Ihrer Mapper-Klasse (Interface) -Methode verwenden:

%Vor%

Dann können Sie #{seqId} , #{orderId} in SQL verwenden, ohne das parameterType-Attribut zu verwenden.

    
jAnA 24.09.2014 08:36
quelle
0

Ich habe die Antwort gefunden, danke.

Ссылка

    
Oh Chin Boon 16.02.2012 09:26
quelle
-1

kann nicht kommentieren,

  

Ich habe die Antwort gefunden, danke.

     

Ссылка

Dieser Link ist kaputt, derzeit korrekt ist Ссылка

Kopieren + Einfügen von diesem Wiki

  

Die Java-Reflektion bietet keine Möglichkeit, den Namen eines Methodenparameters zu kennen, daher nennt MyBatis sie standardmäßig wie: param1, param2 ...   Wenn Sie ihnen einen Namen geben möchten, verwenden Sie die @ param Annotation wie folgt:

%Vor%
  

Nun können Sie sie wie folgt in Ihrer XML-Datei verwenden:

%Vor%

tl; dr

wenn Sie die Methode in Ihrer Schnittstelle anstelle der Standard-Java-Struktur deklarieren

%Vor%

verwenden (@param hinzufügen)

%Vor%     
Alexander 24.02.2017 16:09
quelle

Tags und Links