MyBatis definiert und verwendet SQL-Anweisungen in XML-Dateien, aber
<select id="hoge" resultType="hoge">
SELECT
*
FROM
HOGE
WHERE
HOGE.HOGE_DATE < SYSDATE
</select>
Die WHERE-Klausel, die die Ungleichungsnummer verwendet, wird wütend.
Cause: org.xml.sax.SAXParseException; lineNumber: XX; columnNumber: XX;Der Inhalt des Elements muss aus wohlgeformten Zeichendaten oder Markups bestehen.
Die Methode zum Einschließen des Teils unter Verwendung der Ungleichungszahl mit <![CDATA [...]]>.
<select id="hoge" resultType="hoge">
SELECT
*
FROM
HOGE
WHERE
HOGE_DATE <![CDATA[ < ]]> SYSDATE
</select>
Es war in Ordnung, die gesamte SELECT-Klausel wie im folgenden Beispiel einzuschließen. Dieser ist besser lesbar. (Ich fühle.)
<select id="hoge" resultType="hoge">
<![CDATA[
SELECT
*
FROM
HOGE
WHERE
HOGE_DATE < SYSDATE
]]>
</select>
Dies ist die Methode zur Verwendung der im Kommentar angegebenen Entitätsreferenz. Nach ein wenig Recherche scheint es die folgenden 5 Typen zu geben.
Brief | Entitätsreferenz |
---|---|
< | < |
> | > |
& | & |
'(Einfaches Angebot) | ' |
"(Doppeltes Zitat) | " |
Mit einer Entitätsreferenz beschrieben, sieht es folgendermaßen aus:
<select id="hoge" resultType="hoge">
SELECT
*
FROM
HOGE
WHERE
HOGE_DATE < SYSDATE
</select>
Ich berühre MyBatis zum ersten Mal, aber es ist praktisch, weil ich es nur durch Kopieren und Aufrufen der SQL verwenden kann, deren Funktion bestätigt wurde. Das offizielle MyBatis-Dokument wurde ins Japanische übersetzt, und die Menge an Informationen ist reichlich vorhanden, sodass es einfach zu verwenden ist. Dynamisches SQL wie if, select und foreach wird zu einem späteren Zeitpunkt zusammengefasst.
MyBatis - MyBatis 3 | Mapper-XML-Datei Zeichenreferenz und Entitätsreferenz [XML-Standard]
Recommended Posts