欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Maven插件方式使用MyBatis-Generator自动生成代码

程序员文章站 2022-06-12 18:42:19
...

一、MyBatis-Generator介绍

MyBatis-Generator简称MBG,是一个MyBatis相关代码的自动生成工具,使用MyBatis-Generator可以自动生成Dao层代码、Model层代码、Mapping SQL映射文件。

 

二、maven插件方式使用MBG

非maven插件方式请见:https://www.iteye.com/blog/xieke90-2240577

<1>.在pom.xml添加如下插件

    	<plugin> 
		<groupId>org.mybatis.generator</groupId> 
		<artifactId>mybatis-generator-maven-plugin</artifactId> 
		<version>1.3.7</version> 
		<configuration>
			<!-- <configurationFile>src/main/resources/generatorConfig.xml</configurationFile> -->  
			<!--允许移动生成的文件-->
			<verbose>true</verbose>
			<!--允许覆盖生成的文件-->  
			<overwrite>true</overwrite>  
		</configuration> 
		<dependencies> 
		        <dependency> 
		            <groupId>org.mybatis.generator.plugins</groupId>
		            <artifactId>mysql-pagination-plugin</artifactId>
		            <version>1.0</version>
		            <scope>system</scope>
		            <systemPath>${project.basedir}/lib/mysql-pagination-plugin.jar</systemPath>
		        </dependency>
		         <!-- 生成java实体类注释的插件 -->
		         <dependency> 
		            <groupId>org.mybatis.generator.plugins</groupId>
		            <artifactId>mybatis-comment-plugin</artifactId>
		            <version>1.0</version>
		            <scope>system</scope>
		            <systemPath>${project.basedir}/lib/mybatis-comment-plugin.jar</systemPath> 
		        </dependency>  
		         <!-- 有了如下依赖后,无需在generatorConfig.xml中配置classPathEntry(数据库驱动) -->
		         <dependency>
		            <groupId>mysql</groupId>
		            <artifactId>mysql-connector-java</artifactId>
		            <version>5.1.31</version>
		        </dependency>  
		 </dependencies>  
	</plugin>  

<2>.在src/main/resources下创建generatorConfig.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>

    <!-- 配置数据库驱动 location:数据库驱动路径 -->
    <!-- 
    <classPathEntry
        location="${user.dir}\.m2\repository\mysql\mysql-connector-java\5.1.27\mysql-connector-java-5.1.27.jar" />
     -->
    <context id="mysqldb">
        <!-- java文件编码 -->
        <property name="javaFileEncoding" value="utf-8" />
        <!-- 存在时是否进行合并 默认为false -->
        <property name="mergable" value="true"/>
        <!-- 实体类序列化插件(自带) -->
        <plugin type="org.mybatis.generator.plugins.SerializablePlugin" />
        <!-- 分页插件 -->
        <plugin type="org.mybatis.generator.plugins.AddLimitOffsetPlugin" />
    
        <!-- 配置自动生成注释 -->
        <commentGenerator type="org.mybatis.generator.plugins.MySQLCommentGenerator">
            <property name="author" value="hujun"/>
            <property name="dateFormat" value="yyyy/MM/dd"/>
        </commentGenerator>

        <!-- 配置数据库链接URL、用户名、密码 -->
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
            connectionURL="jdbc:mysql://127.0.0.1:3306/test" userId="******"
            password="********">
            <property name="useInformationSchema" value="true" />
        </jdbcConnection>
        <!-- 配置生成模型的包名和位置 -->
        <javaModelGenerator targetPackage="com.gxcz.xuhui.investment.model"
            targetProject="src/main/java" />
        <!-- 配置生成映射文件的包名和位置 -->
        <sqlMapGenerator targetPackage="com.gxcz.xuhui.investment.mapping"
            targetProject="src/main/java" />
        <!-- 配置生成DAO的包名和位置 -->
        <javaClientGenerator targetPackage="com.gxcz.xuhui.investment.dao"
            targetProject="src/main/java" type="XMLMAPPER" />

        <!-- 配置需要生成的表 -->
        <table schema="drcr" tableName="biz_project_milestone_plan" domainObjectName="BizProjectMilestonePlan" enableCountByExample="false"
               enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false">
            <!-- 使用从数据库元数据获取的列名作为生成的实体对象的属性 -->  
            <!-- <property name="useActualColumnNames" value="true" /> -->
            <!-- 指定自动生成主键 -->
            <!-- <generatedKey column="id" sqlStatement="MySql" identity="true" /> -->
        </table>
        
    </context>

</generatorConfiguration>  

 <3>.执行生成命令:mybatis-generator:generate完成生成操作,特别说明,上面使用了我自定义的分页插件已经生成注释插件,jar下载地址如下:

链接:https://pan.baidu.com/s/1kaSQEAO3Q7SP1IrLxf5gag 密码:8zk6

链接:https://pan.baidu.com/s/1rnubSMCXntrDuBRe5C0CLw 密码:gmxy

 

 转载请注明出处:https://www.iteye.com/blog/xieke90-2514423