Ce n'est pas possible dans MyBatis (au moins version 3) out of the box.
MyBatis a un mappage automatique lors de la lecture des données de la base de données mais n'a pas l'option de mapper automatiquement les champs lors de l'insertion.
La raison en est que MyBatis est très centré sur SQL, c'est-à-dire que vous devez écrire du SQL manuellement. Il est possible d'avoir des champs implicites dans l'instruction SQL select (select * from table
) il y a donc un mappage automatique vers POJO dans ce cas, mais il n'est pas possible d'avoir des champs implicites dans la mise à jour ou l'insertion, donc pas de mappage automatique.
MyBatis peut être prolongé de cause. Par exemple, vous pouvez utiliser @InsertProvider
/@UpdateProvider
avec le générateur sql qui génère sql en utilisant la réflexion pour obtenir des champs d'objet.