MyBatis(少なくともバージョン3)ではそのままでは不可能です。
MyBatisには、データベースからデータを読み取るときに自動マッピングがありますが、挿入時にフィールドを自動的にマッピングするオプションはありません。
この理由は、MyBatisはSQL中心であり、SQLを手動で作成する必要があるためです。 SQL selectステートメントに暗黙のフィールドを含めることができます(select * from table
)したがって、この場合はPOJOへの自動マッピングがありますが、更新または挿入に暗黙のフィールドを含めることはできないため、自動マッピングはありません。
MyBatisは原因を拡大することができます。たとえば、@InsertProvider
を使用できます / @UpdateProvider
リフレクションを使用してSQLを生成し、オブジェクトフィールドを取得するSQLジェネレータを使用します。