Spring Boot integrates Mybatis-generator

, 1. Add maven plugin in pom.xml

<plugin>  
    <groupId>org.mybatis.generator</groupId>  
    <artifactId>mybatis-generator-maven-plugin</artifactId>  
    <version>1.3.5</version>
 
    <dependencies>  
	<dependency>  
	    <groupId> mysql</groupId>  
	    <artifactId> mysql-connector-java</artifactId>  
	    <version> 5.1.39</version>  
	</dependency>

        <!-- Maven automatically executes the required jar during Build, if not, delete it -->
	<dependency>  
	    <groupId>org.mybatis.generator</groupId>  
	    <artifactId>mybatis-generator-core</artifactId>  
	    <version>1.3.5</version>  
	</dependency>  
    </dependencies>

    <!-- Maven will be automatically executed during Build, if not needed, you can delete -->
    <executions>  
	<execution>  
	    <id>Generate MyBatis Artifacts</id>  
		<phase>package</phase>  
		<goals>  
		    <goal>generate</goal>  
		</goals>  
	</execution>  
    </executions>
    <configuration>  
	<!--Allow moving generated files-->  
	<verbose>true</verbose>  
	<!-- whether to overwrite -->  
	<overwrite>true</overwrite>  
	<!-- auto-generated configuration -->  
	<configurationFile>  
	    src/main/resources/mybatis-generator.xml
        </configurationFile>  
    </configuration>  
</plugin>

 

2. Create mybatis-generator.xml under resources

Annotation method:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration
  PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
  "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">

<generatorConfiguration>  
    <context id="DB2Tables" targetRuntime="MyBatis3">

        <commentGenerator>  
            <property name="suppressDate" value="true"/> <!-- Whether to generate comment generation timestamp -->
            <property name="suppressAllComments" value="true"/> <!-- whether to uncomment -->
        </commentGenerator>
        
        <!--Database configuration-->  
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
        	connectionURL="jdbc:mysql://127.0.0.1:3306/BJdb"
        	userId="root" password="admin">
        </jdbcConnection>
        
        <!-- Whether to use bigDecimal, false can automatically convert the following types (Long, Integer, Short, etc.) -->
        <javaTypeResolver>
            <property name="forceBigDecimals" value="false"/>  
        </javaTypeResolver>
        
        <!-- Configure the Model package path-->  
        <javaModelGenerator targetPackage="com.springboot.model" targetProject="src\main\java">  
            <property name="enableSubPackages" value="true"/>
            <property name="trimStrings" value="true"/>
        </javaModelGenerator>
        
        <!-- Configuration map file path-->
        <sqlMapGenerator targetPackage="com.springboot.mapper" targetProject="src\main\java">  
            <property name="enableSubPackages" value="true"/>
        </sqlMapGenerator>
        
        <!-- type="ANNOTATEDMAPPER", generate Java Model and annotation-based Mapper objects  
             type="MIXEDMAPPER", generate annotation-based Java Model and corresponding Mapper object  
             type="XMLMAPPER", generate SQLMap XML file and independent Mapper interface -->
      
        <!-- Configure Dao package path-->
        <javaClientGenerator type="ANNOTATEDMAPPER" targetPackage="com.springboot.dao" targetProject="src\main\java">  
            <property name="enableSubPackages" value="true"/>  
        </javaClientGenerator>
        
        <table tableName="info_record" domainObjectName="InfoRecord" enableCountByExample="true" enableUpdateByExample="true"
        	enableDeleteByExample="true" enableSelectByExample="true" selectByExampleQueryId="true"></table>  
        
    </context>
</generatorConfiguration>

Next, to use mybatis in springboot, you need to add annotation @Mapper to the generated *Mapper interface or add @MapperScan("com.springboot.dao") annotation to the startup class.

 

XML configuration method:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration
  PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
  "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">

<generatorConfiguration>  
    <context id="DB2Tables" targetRuntime="MyBatis3">

        <commentGenerator>  
            <property name="suppressDate" value="true"/> <!-- Whether to generate comment generation timestamp -->
            <property name="suppressAllComments" value="true"/> <!-- whether to uncomment -->
        </commentGenerator>
        
        <!--Database configuration-->  
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
        	connectionURL="jdbc:mysql://127.0.0.1:3306/BJdb"
        	userId="root" password="admin">
        </jdbcConnection>
        
        <!-- Whether to use bigDecimal, false can automatically convert the following types (Long, Integer, Short, etc.) -->
        <javaTypeResolver>
            <property name="forceBigDecimals" value="false"/>  
        </javaTypeResolver>
        
        <!-- Configure model package path-->  
        <javaModelGenerator targetPackage="com.springboot.model" targetProject="src\main\java">  
            <property name="enableSubPackages" value="true"/>
            <property name="trimStrings" value="true"/>
        </javaModelGenerator>
        
        <!-- Configuration database mapping file path-->
        <sqlMapGenerator targetPackage="mybatis_config.spring" targetProject="src\main\resources">  
            <property name="enableSubPackages" value="true"/>  
        </sqlMapGenerator>
        
        <!-- type="ANNOTATEDMAPPER", generate Java Model and annotation-based Mapper objects  
             type="MIXEDMAPPER", generate annotation-based Java Model and corresponding Mapper object  
             type="XMLMAPPER", generate SQLMap XML file and independent Mapper interface -->
        <!-- Configure the database operation layer-->
        <javaClientGenerator type="XMLMAPPER" targetPackage="com.springboot.dao" targetProject="src\main\java">  
            <property name="enableSubPackages" value="true"/>  
        </javaClientGenerator>
         
        <!-- Generate corresponding table and class name-->
        <table tableName="info_record" domainObjectName="InfoRecord" schema="DB2ADMIN">
            <property name="useActualColumnNames" value="true" />
	    <generatedKey column="ID" sqlStatement="DB2" identity="true" />
	    <columnOverride column="name" property="name" />
	    <columnOverride column="mobile_phone" property="mobilePhone" />
	    <columnOverride column="car_type" property="carType" />
	    <columnOverride column="intention_purchase_time" property="intention_purchaseTime" />
	    <columnOverride column="car_budget" property="carBudget" />
        </table>
        
    </context>
</generatorConfiguration>

 

Similarly, to use mybatis in springboot, you need to add annotation @Mapper to the generated *Mapper interface.

 

3. Execute the maven command: mybatis-generator:generate

 

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=326427053&siteId=291194637