2017-06-13 4 views
0

Ich habe eine Anforderung, wo ich Daten aus 2 Spalten wie Tag und Monat erhalten werde, aber ich möchte es in ein Date-Objekt konvertieren und es in meine Bean-Klasse setzen.Custom MyBatis Mapper für 2 Spalten

Ist dies möglich, ohne die Eigenschaft der Java-Klasse hinzuzufügen?

Ich habe versucht, für benutzerdefinierte Ergebnis-Handler zu überprüfen, aber die Beispiele waren nicht klar genug. Gibt es Haken, um irgendeine Art von benutzerdefinierten Handler vor der Rückkehr von der Select-Methode ausführen?

Antwort

0

Worüber Sie in MyBatis-Termini sprechen, heißt Result Map Das wird verwendet, um Felder mit einem Typ Spalten mit einer Datenbanktabelle zuzuordnen.

Es kann auf zwei Arten eingerichtet werden. XMLConfig:

<resultMap id = "result" type = "Date"> 
    <result property = "month" column = "monthcolumn"/> 
    <result property = "day" column = "daycolumn"/> 
    <result property = "year" column = "yearcolumn"/> 
</resultMap> 

<select id = "getDate" resultMap = "result"> 
    SELECT * FROM yourtable.dates 
</select> 

Oder wenn Sie verwenden Java Annotations:

@Select("SELECT * FROM yourtable.dates") 
@Results(value = { 
@Result(property = "day", column = "daycolumn"), 
@Result(property = "month", column = "monthcolumn"), 
@Result(property = "year", column = "yearcolumn")})  
public Date getDate(); 
+0

Sorry, ich hätte klarer sein .. Ich möchte nicht meine Immobilie fügen in Java-Klasse. Meine Java-Klasse hat bereits ein Datumsfeld und ich möchte dieses Feld zuordnen, indem ich das Ergebnis von Spalte 1 und Spalte 2 kombiniere – Metalhead

Verwandte Themen