Wie Sie den Enum-Typ in mybatis mit typeHandler beim Einfügen abbilden

8

Ich habe mich schon eine Weile mit enum herumgeschlagen, aber es wird nicht mein Weg sein. Gibt es jemanden, der mir einen Hinweis geben kann? Ich versuche, Enum-Typ in MySql zu verwenden, und ich verwende auch eine Enum-Klasse in meinem Code.

Wie der Code jetzt ist Es wird MONTAG einfügen, aber es wird auch versuchen, MONTAG auf workdayID einzufügen ... Ich bekomme nicht die workdayID. Ich glaube, ich muss den DAY_TYPE auf irgendeine Weise behandeln ... einen TypHandler vielleicht definieren ?? aber ich habe das versucht und es würde nicht funktionieren, oder weil ich es nicht richtig machen kann?

Ich habe auch versucht, den org.apache.ibatis.type.EnumTypeHandler, aber ohne Erfolg, wie dies

%Vor%

DAY_TYPE.java

%Vor%

DAY_TYPE_Mapper.xml

%Vor%

Meine Datenbanktabelle

%Vor%     
user2279869 14.04.2013, 15:23
quelle

2 Antworten

7

Arbeitstag existiert als dies

%Vor%

Die richtige Lösung ist natürlich das Hinzufügen von enum in der Arbeitstagtabelle ... und es wird die Datenbank wiederverwenden viel ich glaube.

%Vor%

Und löschen Sie jetzt die Tagtabelle Und fügen Sie enum direkt in der Tabelle workday hinzu.

%Vor%     
user2279869 22.04.2013, 00:19
quelle
0

DAY_TYPE enthält in Ihrem Fall eine Mitglieds-ID. Wenn Sie jetzt Ihr ENUM als ID in der Datenbank speichern, können Sie immer einen CustomEnumTypeHandler verwenden, der den DAY_TYPE für Sie verarbeiten kann, auch wenn Sie Ihr Enum nicht mit Ihrer Datenbank synchronisiert haben.

    
faizan 12.09.2013 07:26
quelle