Recientemente, un amigo me preguntó si MyBatis tiene la función de crear automáticamente estructuras de tabla, porque se han utilizado para usar Hibernate antes. Naturalmente, creen que al configurar apuestas o escribir archivos de mapeo en clases de entidad, la tabla se puede crear automáticamente después de que se inicia el sistema.
Solo puedo decirle con pesar que MyBatis no tiene esta función. Al ver su indiferencia, solo puedo consolarle que incluso si no existe tal función, podemos desarrollarla nosotros mismos ~~
Así que está el siguiente sistema, que se ha abierto y puede bajar y echar un vistazo ~~
Mybatis_buildtable_v0.2
https://git.oschina.net/sunchenbin/mybatis_buildtable_v0.2.git
La arquitectura del proyecto utiliza SpringMVC+MyBatis+Maven. La característica es crear tablas y modificar las estructuras de la tabla configurando anotaciones del modelo. Actualmente, solo MySQL es compatible. Porque el enfoque es resaltar la función de la creación de mesa automática de MyBatis, por lo que no hay necesidad de pensar demasiado en el marco.
Especificación de uso:
El código central está en el modelo-tienda-repo
1. El objeto sysmysqlcolumns.java está configurado con el tipo de datos mysql. Cuantos más tipos estén configurados aquí, más tipos podrá usar al crear la tabla.
2.LengthCount.java es una anotación personalizada utilizada para marcar el tipo de datos configurado en sysmysqlcolumns.java. Para marcar este tipo requiere varias longitudes, como DateTime/Varchar (1)/decimal (5,2), respectivamente, 0, 1, 2, respectivamente.
3.Column.Java también es una anotación personalizada, utilizada para marcar campos en el modelo. Como base para crear tablas, si no se marcan, no se escaneará. Hay varios atributos utilizados para establecer la configuración de propiedades como el nombre del campo, el tipo de campo, la longitud, etc. Para más detalles, consulte los comentarios en el código.
4.Table.java también es una anotación personalizada, utilizada para marcar el objeto modelo y tiene un nombre de atributo, que se utiliza para establecer el nombre de la tabla después de que el modelo genera la tabla. Si no se establece la anotación, el modelo no será escaneado.
Ok, después de que el sistema comience, llamará automáticamente el método CreateMysqltable () de SysMysqlCreateTableManagerImpl.java. Así es, este es el método central, que es responsable de crear, eliminar y modificar tablas.
modelo-tienda-frontend/recursos/config/autocreateTable.Properties
Encontrará que hay un archivo de configuración de este tipo, que tiene dos configuraciones
1.mybatis.table.auto = actualización
2.mybatis.model.pack = com.sunchenbin.store.model
Este sistema proporciona dos modos:
1. Cuando mybatis.table.auto = crea, después de que comience el sistema, todas las tablas se eliminarán y luego la tabla se reconstruirá de acuerdo con la estructura configurada en el modelo. Esta operación destruirá los datos originales.
2. Cuando mybatis.table.auto = actualización, el sistema determinará automáticamente qué tablas se crean recientemente, qué campos deben modificarse en el tipo, qué campos deben eliminarse y qué campos deben agregarse. Esta operación no destruirá los datos originales.
3.mybatis.model.Pack Esta configuración se utiliza para configurar el nombre del paquete del objeto que se escanea para crear la tabla.
El sistema está configurado para comenzar a usar Maven. La web depende del repositorio, el frontend y los dispositivos móviles dependen de la web. Por lo tanto, para ejecutar frontend y móvil, primero debe instalar la web y el repositorio
En cuanto a cómo comenzar el proyecto con Maven ... no diré más.
Lo anterior es la descripción completa de la creación automática de MyBatis de tablas y la estructura de la tabla de actualización presentada por el editor. Espero que te sea útil. Si tiene alguna pregunta, déjame un mensaje y el editor le responderá a tiempo. ¡Muchas gracias por su apoyo al sitio web de Wulin.com!