Java框架Mybatis自动生成dao层插件Generator

1.先建几个目录
Java 目录下建两个文件夹用来存放entity和java mapper接口
这里写图片描述
recourse 目录建generator存放插件配置 mapper存放xml
这里写图片描述
2.插件generator目录里面新建两个文件

  • 1.generatorConfig.properties
# 插件路径
drive.class.path=C:\\work\\mysql-connector-5.1.8.jar

# 数据库配置
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/tableName?useUnicode=true&characterEncoding=utf-8&useSSL=false
jdbc.username=user
jdbc.password=pwd

# 生成路径
entity.package=AutoPlug.Entity
dao.package=AutoPlug.Dao
xml.mapper.package=mapper

#目录
target.path1=src/main/java
target.path2=src/main/resources


#数据库表名(前)和实体名(后)
target.tableName=databaseTableName
target.domainObjectName=javaentityName

  • 2.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">

<!-- 配置Run As Maven build : Goals 参数 : mybatis-generator:generate -Dmybatis.generator.overwrite=true -->
<!-- 配置 tableName,使用 Run As Maven build 生成 dao model 层 -->
<generatorConfiguration>
    <!-- 配置文件路径 -->
    <properties url="${mybatis.generator.generatorConfig.properties}" />

    <!-- 配置数据库驱动 -->
    <classPathEntry location="${drive.class.path}" />

    <!-- 配置生成信息 -->
    <!-- The content of element type "context" must match "(property*,plugin*,commentGenerator?,
                    (connectionFactory|jdbcConnection),javaTypeResolver?,javaModelGenerator,
                    sqlMapGenerator?,javaClientGenerator?,table+)". -->
    <context id="mysqlTables" targetRuntime="MyBatis3">
        <!-- 防止部分IDE,在进行代码生成器过程中,自定义注释部分 中文乱码 -->
        <property name="javaFileEncoding" value="UTF-8" />

        <!--关闭注释 -->
        <commentGenerator>
            <property name="suppressDate" value="true" />
            <property name="suppressAllComments" value="true" />
        </commentGenerator>

        <!--数据库连接信息 -->
        <jdbcConnection driverClass="${jdbc.driver}" connectionURL="${jdbc.url}" userId="${jdbc.username}" password="${jdbc.password}">
            <!-- 针对mysql数据库 -->
            <property name="useInformationSchema" value="true"></property>
        </jdbcConnection>

        <javaTypeResolver>
            <property name="forceBigDecimals" value="false" />
        </javaTypeResolver>

        <!-- 生成model模型包路径 -->
        <javaModelGenerator targetPackage="${entity.package}"  targetProject="${target.path1}">
            <property name="enableSubPackages" value="true" />
            <property name="trimStrings" value="true" />
        </javaModelGenerator>

        <!-- 生成映射文件包路径 -->
        <sqlMapGenerator targetPackage="${xml.mapper.package}" targetProject="${target.path2}">
            <property name="enableSubPackages" value="true" />
        </sqlMapGenerator>

        <!-- 生成dao包名路径 -->
        <javaClientGenerator type="XMLMAPPER" targetPackage="${dao.package}" targetProject="${target.path1}">
            <property name="enableSubPackages" value="true" />
        </javaClientGenerator>

        <!--对应数据库表名 -->
        <!-- 要生成的表 tableName是数据库中的表名或视图名 domainObjectName是实体类名 -->
        <table tableName="${target.tableName}" domainObjectName="${target.domainObjectName}" enableCountByExample="false" enableSelectByExample="false" enableUpdateByExample="false" enableDeleteByExample="false"></table>
    </context>
</generatorConfiguration>

3.配置pol.xml

    <properties>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>


            <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
            <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
            <java.version>1.8</java.version>
            <!-- plugin setting -->
            <mybatis.generator.generatorConfig.xml>${basedir}/src/main/resources/generator/generatorConfig.xml</mybatis.generator.generatorConfig.xml>
            <mybatis.generator.generatorConfig.properties>file:///${basedir}/src/main/resources/generator/generatorConfig.properties</mybatis.generator.generatorConfig.properties>

            <!-- plugin versions -->
            <plugin.mybatis.generator>1.3.5</plugin.mybatis.generator>
            <maven.compiler.encoding>UTF-8</maven.compiler.encoding>
    </properties>

    <build>
    <!--<finalName>mySpringBoot</finalName>-->
    <defaultGoal>compile</defaultGoal>
    <plugins>
        <!-- 配置Mybatis generator代码生成插件 -->
        <plugin>
            <groupId>org.mybatis.generator</groupId>
            <artifactId>mybatis-generator-maven-plugin</artifactId>
            <version>${plugin.mybatis.generator}</version>
            <configuration>
                <configurationFile>${mybatis.generator.generatorConfig.xml}</configurationFile>
                <verbose>true</verbose>
                <overwrite>true</overwrite>
            </configuration>
        </plugin>
    </plugins>
    </build>

4.最后编译命令
这里写图片描述

总结


1、pom.xml
<properties>
		<mybatis.generator.generatorConfig.xml>${basedir}/src/main/resources/generator/generatorConfig.xml</mybatis.generator.generatorConfig.xml>
		<mybatis.generator.generatorConfig.properties>file:///${basedir}/src/main/resources/generator/generatorConfig.properties</mybatis.generator.generatorConfig.properties>
		<plugin.mybatis.generator>1.3.5</plugin.mybatis.generator>
</properties>
<build>
		<plugins>
			<!-- 配置Mybatis generator代码生成插件 -->
			<plugin>
				<groupId>org.mybatis.generator</groupId>
				<artifactId>mybatis-generator-maven-plugin</artifactId>
				<version>${plugin.mybatis.generator}</version>
				<configuration>
					<configurationFile>${mybatis.generator.generatorConfig.xml}</configurationFile>
					<verbose>true</verbose>
					<overwrite>true</overwrite>
				</configuration>
			</plugin>
        </plugins>
</build>


2、修改generatorConfig.properties文件
  a、插件路径
  b、数据库信息
  c、生成路径
  d、配置表名实体名


3、使用maven运行mybatis-generator-maven-plugin插件
    a、在Intellij IDEA添加一个“Run运行”选项,使用maven运行mybatis-generator-maven-plugin插件
    b、“Command line” 选项中输入“mybatis-generator:generate  -e”  这里加了“-e ”选项是为了让该插件输出详细信息,这样可以帮助我们定位问题。(有时也不能加 -e)
    c、如果添加成功,则run

4、生成的mapper.java文件添加扫苗注解
@Repository
@Mapper

注意事项:
该配置重复执行会无限写入xml 到时候会报重复id异常
插件地址:

链接:https://pan.baidu.com/s/1djjHLDCkCK7AruM8p0mW8w
提取码:48xg
复制这段内容后打开百度网盘手机App,操作更方便哦

程序员修仙练级群:709332479

猜你喜欢

转载自blog.csdn.net/qq_35189120/article/details/82252553