sql >> Base de Datos >  >> RDS >> Mysql

Cómo insertar un objeto (más de 10 propiedades) en mysql a través de mybatis según la anotación sin enumerar todas las propiedades

No es posible en MyBatis (al menos la versión 3) fuera de la caja.

MyBatis tiene un mapeo automático cuando lee datos de la base de datos pero no tiene la opción de mapear campos automáticamente al insertarlos.

La razón de esto es que MyBatis está muy centrado en SQL, es decir, necesita escribir SQL manualmente. Es posible tener campos implícitos en la instrucción SQL select (select * from table ) por lo que hay una asignación automática a POJO en este caso, pero no es posible tener campos implícitos en la actualización o inserción, por lo tanto, no hay asignación automática.

MyBatis puede extenderse de causa. Por ejemplo, puede usar @InsertProvider /@UpdateProvider con el generador de sql que genera sql usando la reflexión para obtener campos de objetos.