`

Spring Boot 集成Mybatis-generator

 
阅读更多

,1.在pom.xml中添加maven插件

<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在Build时自动执行所需jar,如不需要,可删除 -->
	<dependency>  
	    <groupId>org.mybatis.generator</groupId>  
	    <artifactId>mybatis-generator-core</artifactId>  
	    <version>1.3.5</version>  
	</dependency>  
    </dependencies>

    <!-- Maven在Build时会自动执行,如不需要,可删除 -->
    <executions>  
	<execution>  
	    <id>Generate MyBatis Artifacts</id>  
		<phase>package</phase>  
		<goals>  
		    <goal>generate</goal>  
		</goals>  
	</execution>  
    </executions>
    <configuration>  
	<!--允许移动生成的文件 -->  
	<verbose>true</verbose>  
	<!-- 是否覆盖 -->  
	<overwrite>true</overwrite>  
	<!-- 自动生成的配置 -->  
	<configurationFile>  
	    src/main/resources/mybatis-generator.xml
        </configurationFile>  
    </configuration>  
</plugin>

 

2.在resources下创建mybatis-generator.xml

注解方式:

<?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"/> <!-- 是否生成注释代时间戳 -->
            <property name="suppressAllComments" value="true"/> <!-- 是否取消注释 -->
        </commentGenerator>
        
        <!--数据库配置-->  
        <jdbcConnection driverClass="com.mysql.jdbc.Driver" 
        	connectionURL="jdbc:mysql://127.0.0.1:3306/BJdb" 
        	userId="root" password="admin">
        </jdbcConnection>
        
        <!-- 是否使用bigDecimal, false可自动转化以下类型(Long, Integer, Short, etc.) -->
        <javaTypeResolver>
            <property name="forceBigDecimals" value="false"/>  
        </javaTypeResolver>
        
        <!-- 配置Model包路径 -->  
        <javaModelGenerator targetPackage="com.springboot.model" targetProject="src\main\java">  
            <property name="enableSubPackages" value="true"/>
            <property name="trimStrings" value="true"/>
        </javaModelGenerator>
        
        <!-- 配置映射文件路径 -->
        <sqlMapGenerator targetPackage="com.springboot.mapper" targetProject="src\main\java">  
            <property name="enableSubPackages" value="true"/>
        </sqlMapGenerator>
        
        <!-- type="ANNOTATEDMAPPER",生成Java Model 和基于注解的Mapper对象  
             type="MIXEDMAPPER",生成基于注解的Java Model 和相应的Mapper对象  
             type="XMLMAPPER",生成SQLMap XML文件和独立的Mapper接口 -->
      
        <!-- 配置Dao包路径 -->
        <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>

接下来,在springboot中使用mybatis,需要给生成的 *Mapper接口添加注解@Mapper或者在启动类上添加@MapperScan("com.springboot.dao")注解即可。

 

XML配置方式:

<?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"/> <!-- 是否生成注释代时间戳 -->
            <property name="suppressAllComments" value="true"/> <!-- 是否取消注释 -->
        </commentGenerator>
        
        <!--数据库配置-->  
        <jdbcConnection driverClass="com.mysql.jdbc.Driver" 
        	connectionURL="jdbc:mysql://127.0.0.1:3306/BJdb" 
        	userId="root" password="admin">
        </jdbcConnection>
        
        <!-- 是否使用bigDecimal, false可自动转化以下类型(Long, Integer, Short, etc.) -->
        <javaTypeResolver>
            <property name="forceBigDecimals" value="false"/>  
        </javaTypeResolver>
        
        <!-- 配置model包路径 -->  
        <javaModelGenerator targetPackage="com.springboot.model" targetProject="src\main\java">  
            <property name="enableSubPackages" value="true"/>
            <property name="trimStrings" value="true"/>
        </javaModelGenerator>
        
        <!-- 配置数据库映射文件路径 -->
        <sqlMapGenerator targetPackage="mybatis_config.spring" targetProject="src\main\resources">  
            <property name="enableSubPackages" value="true"/>  
        </sqlMapGenerator>
        
        <!-- type="ANNOTATEDMAPPER",生成Java Model 和基于注解的Mapper对象  
             type="MIXEDMAPPER",生成基于注解的Java Model 和相应的Mapper对象  
             type="XMLMAPPER",生成SQLMap XML文件和独立的Mapper接口 -->
        <!-- 配置数据库操作层 -->
        <javaClientGenerator type="XMLMAPPER" targetPackage="com.springboot.dao" targetProject="src\main\java">  
            <property name="enableSubPackages" value="true"/>  
        </javaClientGenerator>
         
        <!-- 生成对应表及类名 -->
        <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>

 

同样的,要在springboot使用mybatis,需要给生成的 *Mapper接口添加注解@Mapper。

 

3.执行maven命令:mybatis-generator:generate

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics