Aujourd'hui, j'ai fait quelque chose qui m'a trompé et a perdu beaucoup de temps. . .
Dans les paramètres de Mybatis, j'ai vu une ligne de paramètres comme celui-ci. Par la curiosité du programmeur, j'ai cherché et trouvé ce que fait ce paramètre.
<paramètre name = "CallSettersonnulls" value = "true" />
Après les réponses de nombreux grands maîtres sur Internet, j'ai finalement eu une très peu de compréhension.
Dans les requêtes générales, si vous utilisez la carte pour accepter le résultat de la requête, les champs avec le résultat de la requête NULL seront automatiquement ignorés, ce qui entraînera une exception du pointeur nul à prendre le paramètre.
Si cette propriété est définie, MyBatis n'ignorera pas ces champs. Vous pouvez toujours obtenir ces clés, mais la valeur est nul, ce qui est également pratique.
Voici donc le piège. Dans ce contexte, il y aura deux autres situations spéciales.
1. Si tous les champs de toute la requête n'ont aucune valeur, c'est-à-dire lorsque 0 enregistrements est trouvé, quel est le résultat de la carte acceptée?
La réponse est que nous recevrons une carte avec toutes les valeurs clés NULL au lieu d'une carte avec NULL.
2. Si vous interrogez un seul champ et que vous le recevez avec MAP, quel est le résultat de Null pour le moment?
La réponse est que nous recevrons une carte avec Null, ce qui est exactement l'opposé de ce qui précède.
Résumer
Ce qui précède est l'analyse de configuration de MyBatis CallSettersonnulls qui vous a été présenté. J'espère que cela vous sera utile. Si vous avez des questions, laissez-moi un message. L'éditeur vous répondra à temps!