Configuración de generación inversa con Mybatis para bases de datos MySQL

  1. Inclusión de dependencias en el archivo POM

Para integrar la funcionalidad de generación enversa, se debe agregar el plugin de MyBatis Generator al archivo pom.xml del proyecto:


<build>
    <plugins>
        <plugin>
            <groupId>org.mybatis.generator</groupId>
            <artifactId>mybatis-generator-maven-plugin</artifactId>
            <version>1.4.0</version>
            <configuration>
                <configurationFile>src/main/resources/mbg-config.xml</configurationFile>
                <verbose>true</verbose>
                <overwrite>true</overwrite>
            </configuration>
            <executions>
                <execution>
                    <id>Generar artefactos de MyBatis</id>
                    <goals>
                        <goal>generate</goal>
                    </goals>
                </execution>
            </executions>
            <dependencies>
                <dependency>
                    <groupId>org.mybatis.generator</groupId>
                    <artifactId>mybatis-generator-core</artifactId>
                    <version>1.4.0</version>
                </dependency>
                <dependency>
                    <groupId>mysql</groupId>
                    <artifactId>mysql-connector-java</artifactId>
                    <version>8.0.26</version>
                    <scope>runtime</scope>
                </dependency>
            </dependencies>
        </plugin>
    </plugins>
</build>

  1. Definición del archivo de configuración XML

El siguiente paso es crear un archivo de configuración, por ejemplo, mbg-config.xml, dentro de src/main/resources. Este archivo detalla la conexión a la base de datos y los elementos a generar:


<?xml version="1.0" encoding="UTF-8"?>

<generatorConfiguration>
    <context id="mysqlContext" targetRuntime="MyBatis3">
        <commentGenerator>
            <property name="suppressAllComments" value="true" />
        </commentGenerator>
        <jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
            connectionURL="jdbc:mysql://localhost:3306/ejemplo_db"
            userId="admin"
            password="secret123">
        </jdbcConnection>
        <javaTypeResolver>
            <property name="forceBigDecimals" value="false" />
        </javaTypeResolver>
        <javaModelGenerator targetPackage="com.example.entidades"
            targetProject="src/main/java">
            <property name="enableSubPackages" value="true" />
            <property name="trimStrings" value="true" />
        </javaModelGenerator>
        <sqlMapGenerator targetPackage="com.example.mapeos"
            targetProject="src/main/resources">
            <property name="enableSubPackages" value="false" />
        </sqlMapGenerator>
        <javaClientGenerator type="XMLMAPPER"
            targetPackage="com.example.dao"
            targetProject="src/main/java">
            <property name="enableSubPackages" value="false" />
        </javaClientGenerator>
        <table tableName="productos" domainObjectName="Producto" />
        <table tableName="clientes" domainObjectName="Cliente" />
        <table tableName="pedidos" domainObjectName="Pedido" />
    </context>
</generatorConfiguration>

  1. Ejecución del proceso de generación

Con la configuración lista, ejecute el objetivo de Maven correspondiente desde la línea de comandos o mediante un IDE. Utilice el comando:

mvn mybatis-generator:generate

Tras la ejecución, se crearán automáticamente las clases de modelo, las interfaces de mapeo y los archivos XML asociados en los directorios especificados. Verifique que los archivos generados aparecen en los paquetes correctos.

Notas de implementación

  • Valide que el servidor de base de datos esté operativo y que las credenciales proporcionadas sean válidas.
  • Los paquetes de destino deben existir o crearse previamente para evitar errores de generación.
  • La opción overwrite permite sobrescribir archivos existentse, úselo con precaución en entornos de desarrollo.
  • Consulte la documentación oficial de MyBatis Generator para opciones avanzadas de personalización.

Etiquetas: MyBatis maven XML MySQL Generación de código inverso

Publicado el 6-7 17:24