Recentemente, um amigo me perguntou se o Mybatis tem a função de criar estruturas de tabela automaticamente, porque já foram usadas para usar o hibernado antes. Naturalmente, eles acreditam que, ao configurar as apostas ou escrever arquivos de mapeamento nas classes de entidade, a tabela pode ser criada automaticamente após o início do sistema.
Só posso dizer a ele com arrependimento que Mybatis não tem essa função. Vendo a indiferença dele, só posso confortá -lo de que, mesmo que não exista essa função, podemos desenvolvê -la sozinhos ~~
Portanto, há o seguinte sistema, que foi aberto e você pode descer e dar uma olhada ~~
Mybatis_buildtable_v0.2
https://git.oschina.net/sunchenbin/mybatis_buildtable_v0.2.git
A arquitetura do projeto usa Springmvc+mybatis+maven. O recurso é criar tabelas e modificar estruturas de tabela configurando as anotações do modelo. Atualmente, apenas o MySQL é suportado. Porque o foco é destacar a função da criação automática de tabela Mybatis, portanto, não há necessidade de pensar muito sobre a estrutura.
Especificação de uso:
O código principal está no modelo-repo-repo
1. O objeto sysmysqlcolumns.java está configurado com o tipo de dados MySQL. Quanto mais tipos são configurados aqui, mais tipos você pode usar ao criar a tabela.
2.LengthCount.java é uma anotação personalizada usada para marcar o tipo de dados configurado em sysmysqlcolumns.java. Para marcar esse tipo, requer vários comprimentos, como DateTime/Varchar (1)/decimal (5,2), respectivamente, 0, 1, 2, respectivamente.
3.column.java também é uma anotação personalizada, usada para marcar campos no modelo. Como base para a criação de tabelas, se não estiver marcado, ela não será digitalizada. Existem vários atributos usados para definir as configurações de propriedades, como nome de campo, tipo de campo, comprimento, etc. Para obter detalhes, consulte os comentários sobre o código.
4.Table.java também é uma anotação personalizada, usada para marcar o objeto Model e possui um nome de atributo, usado para definir o nome da tabela depois que o modelo gera a tabela. Se a anotação não estiver definida, o modelo não será digitalizado.
OK, depois que o sistema iniciar, ele chamará automaticamente o método CreateMySQLTable () do sysmysqlCreateTableManagerImpl.java. É isso mesmo, este é o método principal, que é responsável por criar, excluir e modificar tabelas.
Model-Store-Frontend/Resources/Config/AutocreateTable.Properties
Você descobrirá que existe um arquivo de configuração, que possui duas configurações
1.mybatis.table.auto = atualização
2.mybatis.model.pack = com.sunchenbin.store.model
Este sistema fornece dois modos:
1. Quando mybatis.table.auto = Crie, após o início do sistema, todas as tabelas serão excluídas e, em seguida, a tabela será reconstruída de acordo com a estrutura configurada no modelo. Esta operação destruirá os dados originais.
2. Quando mybatis.table.auto = atualização, o sistema determina automaticamente quais tabelas são criadas recentemente, quais campos precisam ser modificados no tipo, quais campos precisam ser excluídos e quais campos precisam ser adicionados. Esta operação não destruirá os dados originais.
3.mybatis.model.pack Esta configuração é usada para configurar o nome do pacote do objeto a ser digitalizado para criar a tabela.
O sistema está configurado para começar a usar o Maven. A Web depende do repositório, front -end e celular dependem da web. Portanto, para executar o front -end e o celular, você deve primeiro instalar a web e repositório
Quanto a como iniciar o projeto com o Maven ... não vou dizer mais.
O exposto acima é a descrição completa da criação automática Mybatis de tabelas e a estrutura da tabela de atualização introduzida pelo editor. Espero que seja útil para você. Se você tiver alguma dúvida, deixe -me uma mensagem e o editor responderá a você a tempo. Muito obrigado pelo seu apoio ao site wulin.com!