mybatis插件generatorConfiguration.xml配置,可直接生成实体类、dao、mapper.xml文件

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Nishino_shou/article/details/81109740

新进公司没多久,发现框架当中囊括了不少的插件,以Idea作为开发工具,其中就使用到了mybatis的自动生成工具generatorConfiguration,下面我们来看看它的相关内容。

1在pom.xml中做两处配置

        1.1配置dependency

        1.2配置plugin

2 创建generatorConfig.xml

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

        2.2 其它说明

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

        3.1 配置

        3.2 执行mybatis-generator:generate命令

 

1在pom.xml中做两处配置

1.1配置dependency

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

   <dependency>

        <groupId>org.mybatis.generator</groupId>

     <artifactId>mybatis-generator-core</artifactId>

        <version>1.3.5</version>

      </dependency>

1.2配置plugin

在 <build> 这个节点的<plugins>节点内部加入一个<plugin>,如下:

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

        </plugin>

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

 当然,此处因人而异,有的人喜欢在plugin中一起配置,有人喜欢在plugin中只配置generator,在dependency中导包,两种方式都是可以做到的。

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>  
    <!-- 引入配置文件 -->  
    <properties resource="init.properties"/>  
      
    <!-- 指定数据连接驱动jar地址 -->  
    <classPathEntry location="${classPath}" />  
      
    <!-- 一个数据库一个context -->  
    <context id="infoGuardian">  
        <!-- 注释 -->  
        <commentGenerator >  
            <property name="suppressAllComments" value="false"/><!-- 是否取消注释 -->  
            <property name="suppressDate" value="true" /> <!-- 是否生成注释代时间戳-->  
        </commentGenerator>  
          
        <!-- jdbc连接 -->  
        <jdbcConnection driverClass="${jdbc_driver}"  
            connectionURL="${jdbc_url}" userId="${jdbc_user}"  
            password="${jdbc_password}" />  
          
        <!-- 类型转换 -->  
        <javaTypeResolver>  
            <!-- 是否使用bigDecimal, false可自动转化以下类型(Long, Integer, Short, etc.) -->  
            <property name="forceBigDecimals" value="false"/>  
        </javaTypeResolver>  
          
        <!-- 生成实体类地址 -->    
        <javaModelGenerator targetPackage="com.oop.eksp.user.model"  
            targetProject="${project}" >  
            <!-- 是否在当前路径下新加一层schema,eg:fase路径com.oop.eksp.user.model, true:com.oop.eksp.user.model.[schemaName] -->  
            <property name="enableSubPackages" value="false"/>  
            <!-- 是否针对string类型的字段在set的时候进行trim调用 -->  
            <property name="trimStrings" value="true"/>  
        </javaModelGenerator>  
          
        <!-- 生成mapxml文件 -->  
        <sqlMapGenerator targetPackage="com.oop.eksp.user.data"  
            targetProject="${project}" >  
            <!-- 是否在当前路径下新加一层schema,eg:fase路径com.oop.eksp.user.model, true:com.oop.eksp.user.model.[schemaName] -->  
            <property name="enableSubPackages" value="false" />  
        </sqlMapGenerator>  
          
        <!-- 生成mapxml对应client,也就是接口dao -->      
        <javaClientGenerator targetPackage="com.oop.eksp.user.data"  
            targetProject="${project}" type="XMLMAPPER" >  
            <!-- 是否在当前路径下新加一层schema,eg:fase路径com.oop.eksp.user.model, true:com.oop.eksp.user.model.[schemaName] -->  
            <property name="enableSubPackages" value="false" />  
        </javaClientGenerator>  
          
        <!-- 配置表信息 -->      
        <table schema="${jdbc_user}" tableName="s_user"  
            domainObjectName="UserEntity" enableCountByExample="false"  
            enableDeleteByExample="false" enableSelectByExample="false"  
            enableUpdateByExample="false">  
            <!-- schema即为数据库名 tableName为对应的数据库表 domainObjectName是要生成的实体类 enable*ByExample   
                是否生成 example类   -->  
              
            <!-- 忽略列,不生成bean 字段 -->  
            <ignoreColumn column="FRED" />  
            <!-- 指定列的java数据类型 -->  
            <columnOverride column="LONG_VARCHAR_FIELD" jdbcType="VARCHAR" />  
        </table>  
  
    </context>  
</generatorConfiguration>

2.2其它说明

        上面的这个配置文件用到了init.properties这个路径,该文件主要是配置连接mysql数据库的一些参数,例如存放位置是/springmybatis/src/main/resources/init.properties

3.项目执行方式

生成对象的两种方式

方式一:使用idea的maven插件直接快速生成

在完成以上两步之后。就会在idea中看到:直接点击mybatis-generator:generate就可生成。
这里写图片描述

方式二:在Intellij IDEA添加一个“Run运行”选项,使用maven运行mybatis-generator-maven-plugin插件 :
Step1:选择配置edit configuration

这里写图片描述

Step2:创建maven运行项

这里写图片描述

Step3:配置命令 mybatis-generator:generate -e

这里写图片描述
Step4:运行

这里写图片描述

做完以上几步。就可以看到运行的选项。点击运行即可。

详细的配置文档可以参考下面的链接内容    Mybatis Generator最完整配置详解

猜你喜欢

转载自blog.csdn.net/Nishino_shou/article/details/81109740