Mybatis使用Generator自动生成器的配置及使用

使用的是IDEA,spring boot.maven.

首先在 pop.xml 中导入依赖

<dependency>
     <groupId>org.mybatis.spring.boot</groupId>
     <artifactId>mybatis-spring-boot-starter</artifactId>
     <version>1.3.2</version>
</dependency>

<build>

   <plugins>

      <!-- mybatis generator 自动生成代码插件 -->
      <plugin>
          <groupId>org.mybatis.generator</groupId>
          <artifactId>mybatis-generator-maven-plugin</artifactId>
          <version>1.3.6</version>
          <configuration>
         <configurationFile>${basedir}/src/main/resources/generatorConfig.xml</configurationFile>
                    <overwrite>true</overwrite>
                    <verbose>true</verbose>
          </configuration>
      </plugin>
   
    </plugins>

</build>

pom.xml 文件设置的对应目录下创建 generatorConfig.xml 文件(maven插件运行配置时,文件名只能固定写为generatorConfig,文件中要配置数据库 <classPathEntry> 连接驱动绝对路径,并且,数据库连接信息url,username,password等都要写固定)

<?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>

    <!--别名,可以将重复的代码,比如路径用别名代替-->
    <!--    <typeAliases>
            <typeAlias alias="packagePath" type="com.demo.demosubject"/>
        </typeAliases>-->

    <!--指定数据库驱动路径-->
    <classPathEntry
            location="C:\Users\24564\.m2\repository\mysql\mysql-connector-java\5.1.45\mysql-connector-java-5.1.45.jar"/>
            
    <context id="familydb" defaultModelType="flat" targetRuntime="MyBatis3">

        <!--注解配置-->
        <commentGenerator>
            <!--是否生成默认注解,true,是;false,否-->
            <property name="suppressAllComments" value="true"/>
            <!--生成的注解是否包含时间戳,true,是;false,否-->
            <property name="suppressDate" value="true"/>
        </commentGenerator>

        <!--连接数据库-->
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                        connectionURL="jdbc:mysql://www.demo.com:3306/databasename?characterEncoding=utf-8"
                        userId="admin" password="123456">
        </jdbcConnection>

        <!--指定JDBC类型和Java类型转换. 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer    
            true,把JDBC DECIMAL 和 NUMERIC 类型解析为java.math.BigDecimal-->
        <javaTypeResolver>
            <property name="forceBigDecimals" value="false"/>
        </javaTypeResolver>

        <!-- java模型创建器
        targetPackage:生成的类要放的包,真实的包受enableSubPackages属性控制;
        targetProject:目标项目,指定一个存在的目录下,生成的内容会放到指定目录中,如果目录不存在,MBG不会自动建目录
     -->
        <!--生成model模型-->
        <javaModelGenerator targetPackage="packagePath.entity" targetProject="src/main/java">
            <property name="enableSubPackages" value="true"/>
            <!--数据库返回的值清理,去除前后空格-->
            <property name="trimStrings" value="true"/>
        </javaModelGenerator>

        <!--生成对应的映射mapper.xml文件-->
        <sqlMapGenerator targetPackage="mapping" targetProject="src/main/resources">
            <property name="enableSubPackages" value="true"/>
        </sqlMapGenerator>

        <!--生成Mapper接口-->
        <javaClientGenerator type="XMLMAPPER" targetPackage="packagePath.dao"
                             targetProject="src/main/java">
            <property name="enableSubPackages" value="true"/>
        </javaClientGenerator>


        <!--列出将要执行操作的表-->
        <table tableName="user" domainObjectName="User" enableCountByExample="false"
               enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false"
               selectByExampleQueryId="false"/>

    </context>

</generatorConfiguration>

在Intellij IDEA添加一个“Run运行”选项,使用maven运行mybatis-generator-maven-plugin插件 

弹出运行配置框,为当前配置配置一个Name,这里命名为"generator",然后在 “Command line” 选项中输入“mybatis-generator:generate  -e”,这里加了“-e ”选项是为了让该插件输出详细信息,这样可以帮助我们定位可能出现的问题.

最后点击Apply,如果添加成功

就会有刚才添加的 generator 选项.然后运行即可生成代码

也可以在这里运行

还有一种方法是写main方法运行
  1.在pom.xml中加入插件依赖:
  2.写mbgConfiguration.xml文件,jdbc.properties文件
  3.写/src/main/java/main/DemoMain.java main方法
  4.运行main函数

这样配置比较灵活,不需要写死数据库驱动地址和连接信息,不需要多加一个jar插件。

猜你喜欢

转载自blog.csdn.net/MR_L_0927/article/details/84284031