Problembeschreibung
Wenn es ein Text- oder Blob-Feld in der Datenbanktabelle gibt. Das automatisch generierte Datenbankprofil ist wie folgt, mit mehreren zusätzlichen Methoden und resultMaps, die auf withBlobs enden:
Wenn die Abfrage- oder Aktualisierungsdaten weiterhin mit selectByExample oder updateByExample verwendet werden, sind die erhaltenen Text- oder Blob-Daten null.Wie in der folgenden Abbildung dargestellt:
Es richtig machen
Du solltest entweder selectByExampleWithBLOBs oder updateByExampleWithBLOBs verwenden.
Im Code, den Mybatis Reverse Engineering erzeugt hat,selectByExample und selectByExampleWithBLOBs, was ist der Unterschied zwischen diesen beiden Methoden?
Problemanalyse:
1> Die resultMap, die von den beiden Methoden zurückgegeben wird, ist unterschiedlich
selectByExample-Methode liefert: BaseResultMap
selectByExampleWithBLOBs-Methode liefert: ResultMapWithBLOBs zurück: ResultMapWithBLOBs
ResultMapWithBLOBs erbt das BaseResultMap und besitzt ein eigenes spezielles Feld, das üblicherweise vom Typ longvarchar ist,
2> Einsatzszenarien sind unterschiedlich
Wenn Sie große Felder abrufen möchten, müssen Sie selectByExampleWithBLOBs verwenden, und im Allgemeinen können Sie selectByExample verwenden.
|