sql >> Database teknologi >  >> RDS >> Mysql

Sådan indsætter du et objekt (mere end 10 egenskaber) i mysql via mybatis baseret på annotering uden at liste alle egenskaber

Det er ikke muligt i MyBatis (mindst version 3) ud af æsken.

MyBatis har automatisk kortlægning ved læsning af data fra database, men har ikke mulighed for automatisk at kortlægge felter ved indsættelse.

Grunden til dette er, at MyBatis er meget SQL-centreret, hvilket betyder, at du skal skrive SQL manuelt. Det er muligt at have implicitte felter i SQL select-sætning (select * from table ) så der er automatisk tilknytning til POJO i dette tilfælde, men det er ikke muligt at have implicitte felter i opdatering eller indsættelse, og derfor ingen automatisk tilknytning.

MyBatis kan udvides af årsag. For eksempel kan du bruge @InsertProvider /@UpdateProvider med sql-generatoren, der genererer sql ved hjælp af refleksion for at få objektfelter.




  1. Implementering af en multi-datacenter-opsætning til PostgreSQL - Anden del

  2. Laravel:Hvordan sletter man rækker fra flere tabeller med samme id med kun 1 forespørgsel?

  3. mysql - returner første kolonne én gang og alle tilsvarende kolonnedata

  4. Mangler første række data fra MYSQL