Maven插件之mybatis-generator

1在pom.xml中做两处配置

1.1 配置dependency

要使用generator插件自动生成相关文件,需要引入mybatis-generator-core这个包,在中加入:

<dependency>
    <groupId>org.mybatis.generator</groupId>
    <artifactId>mybatis-generator-core</artifactId>
    <version>1.3.5</version>
</dependency>

1.2 配置plugin

在 这个节点的节点内部加入一个,如下:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.johnfnash.learn</groupId>
    <artifactId>mybatis-generator</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>mybatis-generator</name>
    <url>http://maven.apache.org</url>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <dependencies>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.38</version>
        </dependency>
        <dependency>
            <groupId>org.mybatis.generator</groupId>
            <artifactId>mybatis-generator-core</artifactId>
            <version>1.3.5</version>
        </dependency>
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.4.2</version>
        </dependency>

        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.11</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-maven-plugin</artifactId>
                <version>1.3.2</version>
                <executions>
                    <execution>
                        <id>Generate MyBatis Files</id>
                        <goals>
                            <goal>generate</goal>
                        </goals>
                        <phase>generate</phase>
                        <configuration>
                            <verbose>true</verbose>
                            <overwrite>true</overwrite>
                        </configuration>
                    </execution>
                </executions>

                <dependencies>
                    <dependency>
                        <groupId>mysql</groupId>
                        <artifactId>mysql-connector-java</artifactId>
                        <version>5.1.38</version>
                    </dependency>
                    <dependency>
                        <groupId>org.mybatis.generator</groupId>
                        <artifactId>mybatis-generator-core</artifactId>
                        <version>1.3.5</version>
                    </dependency>
                    <dependency>
                        <groupId>org.mybatis</groupId>
                        <artifactId>mybatis</artifactId>
                        <version>3.4.2</version>
                    </dependency>
                </dependencies>

                <configuration>
                    <!--允许移动生成的文件 -->
                    <verbose>true</verbose>
                    <!-- 是否覆盖 -->
                    <overwrite>true</overwrite>
                    <!-- 自动生成的配置 -->
                    <configurationFile>
                        src/main/resources/generatorConfig.xml</configurationFile>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

注意:这个plugin里面又使用dependencies引入了mysql 的驱动和mybatis的相关jar包,这个不能省略。

2 创建generatorConfig.xml

2.1 配置文件路径名称以及内容

在resource目录下创建generatorConfig.xml配置文件,当然了该文件起这个名字,并且放到resource根目录下是根据genereator的默认方案来的,如果要用别的名,放到别的目录也可以,只是要做其它配置,这里就按默认算了,该文件的配置内容如下:

<?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>
    <!-- 数据库驱动包位置 -->  
    <!-- 由于在pom.xml中加入插件时已经配置数据库驱动包,所以此处不必配置了-->
    <!-- <classPathEntry location="mysql-connector-java-5.1.34.jar" /> --> 
    
    <properties resource="mysql.properties"/>

    <context id="mysqlTables" targetRuntime="MyBatis3">
        <jdbcConnection driverClass="${driverClass}"
            connectionURL="${jdbc.url}" userId="${jdbc.username}" password="${jdbc.password}"/>

        <!--指定生成的类型为java类型,避免数据库中number等类型字段 -->
        <javaTypeResolver>
            <property name="forceBigDecimals" value="false"/>
        </javaTypeResolver>

        <!--自动生成的实体的存放包路径 -->
        <javaModelGenerator targetPackage="com.johnfnash.learn.mybatis.generator.domain"
            targetProject="src/main/java">
            <property name="enableSubPackages" value="true"/>
            <property name="trimStrings" value="true"/>
        </javaModelGenerator>

        <!--自动生成的*Mapper.xml文件存放路径 -->
        <sqlMapGenerator targetPackage="mappers" targetProject="src/main/resources">
            <property name="enableSubPackages" value="true" />
        </sqlMapGenerator>

        <!--自动生成的*Mapper.java存放路径 -->
        <!-- 客户端代码,生成易于使用的针对Model对象和XML配置文件 的代码  
                type="ANNOTATEDMAPPER",生成Java Model 和基于注解的Mapper对象  
                type="MIXEDMAPPER",生成基于注解的Java Model 和相应的Mapper对象  
                type="XMLMAPPER",生成SQLMap XML文件和独立的Mapper接口  
        -->  
        <javaClientGenerator type="XMLMAPPER" targetPackage="com.johnfnash.learn.mybatis.generator.mapper" targetProject="src/main/java">
            <property name="enableSubPackages" value="true" />
        </javaClientGenerator>

        <!--生成对应表及类名-->
        <table tableName="users" domainObjectName="User" enableCountByExample="false" enableUpdateByExample="false" 
                enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false">
            <generatedKey column="ID" sqlStatement="select uuid_short()" identity="false"/>
        </table>
    </context>
</generatorConfiguration>

2.2 其它说明

上面的 mysql.properties 中配置了数据库拦截的一些信息,我的存放位置是src/main/resources/mysql.properties。当然了,你也可以放到其它地方,将其引入即可,你不想用配置文件,直接将${jdbc.url}等其它类似的地方替换成真实的字符串也是可以的。

jdbc.url=jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC
driverClass=com.mysql.jdbc.Driver
jdbc.username=root
jdbc.password=123456

上面的配置文件中用到了一个<table>节点,这个你要根据自己的情况做对应配置,例如你数据库里有10个表,这里把10个表全部配置上也可以,配一部分也可以。还有就是

这个节点里可以配置一些其它参数,这里不细述了。

3 对项目做运行参数配置并执行命令

3.1 配置

在项目上点击右键,再点击Run Configurations以后,会弹出对话框,在对话框上找到Maven Build,然后右键并且点击new,如下图:

maven build 1

在新出现的界面上填写Name,Base directory,Goals这三个地方,其中Name可以随便写,Base directory是你的工程的路径,可以点击 Browser Workspace 来选择项目,Goals这个地方不用变,照着图写,这个是maven插件的命令。

maven build 2

3.2执行mybatis-generator:generate命令

点击Apply,在点击 Run,稍等一会,你可以看到generator执行成功了。

在mapper目录下生成了对应的Mapper.java文件,在domain目录下生成了对应的实体.java文件,src/main/resources/mappers 目录下生产了 Mapper.xml 文件。如图:

生成的代码

本文转自:Maven插件之mybatis-generator(mybatis自动生成实体代码的插件)

猜你喜欢

转载自blog.csdn.net/xxc1605629895/article/details/89294498
今日推荐