Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como inserir um objeto (mais de 10 propriedades) no mysql via mybatis com base em anotação sem listar todas as propriedades


Não é possível no MyBatis (pelo menos a versão 3) fora da caixa.

O MyBatis possui mapeamento automático ao ler dados do banco de dados, mas não possui a opção de mapear automaticamente os campos na inserção.

A razão para isso é que o MyBatis é muito centrado em SQL, ou seja, você precisa escrever SQL manualmente. É possível ter campos implícitos na instrução SQL select (select * from table ) para que haja mapeamento automático para POJO neste caso, mas não é possível ter campos implícitos em atualização ou inserção, portanto, não há mapeamento automático.

MyBatis pode ser prorrogado de causa. Por exemplo, você pode usar @InsertProvider /@UpdateProvider com o gerador de sql que gera sql usando reflexão para obter campos de objeto.