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

2018年5月6日22:39:36
  • A+
所属分类:Mybatis

1在pom.xml中做两处配置

1.1配置dependency

1.2配置plugin

2 创建generatorConfig.xml

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

2.2 其它说明

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

3.1 配置

3.2 执行mybatis-generator:generate命令

4 完整代码下载

 

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包,这个不能省略。

2创建generatorConfig.xml

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

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

 <?xmlversion="1.0"encoding="UTF-8"?>

<!DOCTYPEgeneratorConfiguration

  PUBLIC"-//mybatis.org//DTDMyBatis Generator Configuration 1.0//EN"

  "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">

<generatorConfiguration>

   <properties  resource="schemeone/properties/mysql/mysql.properties"/>

   <context  id="mysqlTables"   targetRuntime="MyBatis3">

      <jdbcConnection  driverClass="com.mysql.jdbc.Driver"

         connectionURL="${jdbc.url}"  userId="${jdbc.username}"  password="${jdbc.password}"/>

      <!--指定生成的类型为java类型,避免数据库中number等类型字段 -->

      <javaTypeResolver>

        <propertyname="forceBigDecimals"  value="false"/>

      </javaTypeResolver>

      <!--自动生成的实体的存放包路径 -->

      <javaModelGenerator  targetPackage="org.cj.entity.auto"

         targetProject="src/main/java">

        <property  name="enableSubPackages"  value="true"/>

          <property  name="trimStrings"  value="true"/>

      </javaModelGenerator>

      <!--自动生成的*Mapper.xml文件存放路径 -->

      <sqlMapGenerator  targetPackage="org.cj.dao.auto.mysql"

          targetProject="src/main/java">

        <property  name="enableSubPackages"  value="true"/>

      </sqlMapGenerator>

      <!--自动生成的*Mapper.java存放路径 -->

      <javaClientGenerator type="XMLMAPPER"

         targetPackage="org.cj.dao.auto"  targetProject="src/main/java">

        <property  name="enableSubPackages"  value="true"/>

      </javaClientGenerator>

   <table  tableName="test"  domainObjectName="Test" 

        enableCountByExample="false"   enableUpdateByExample="false" 

        enableDeleteByExample="false"  enableSelectByExample="false" 

        selectByExampleQueryId="false">

      <generatedKey  column="ID"  sqlStatement="selectuuid_short()"

          identity="false"/>

   </table>

      <table  tableName="teacher"   domainObjectName="Tercher">

         <generatedKey  column="ID"  sqlStatement="select uuid_short()"   identity="false"/>

      </table>

   </context>

</generatorConfiguration>

2.2其它说明

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

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

        当然了,你也可以放到其它地方,将其引入即可,你不想用配置文件,直接将${jdbc.url}等其它类似的地方替换成真实的字符串也是可以的。

      上面诸如org.cj.dao.auto这样的路径配置,你对应的改成自己想要的路径也可以。

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

 

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

3.1配置

 

在项目上点击右键,如图:

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

 

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

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

在新出现的界面上填写Name,Base directory,Goals这三个地方,其中Name可以随便写,Base directory是你的工程的路径,例如我的是E:\eclipse_workspace_2015\springmybatis,Goals这个地方不用变,照着图写,这个是maven插件的命令。至于Maven  Runtime下拉框可以不选,也可以选择自己安装在eclipse外面的那个。

 

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

 

3.2执行mybatis-generator:generate命令

 

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

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

 

 

在dao目录下生成了对应的Mapper.java文件和Mapper.xml文件,如图:

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

 

在entity目录下生成了对应的实体.java文件,如图:

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

 

4完整代码下载

地址:示例代码点击下载

说明:因为是手动写的工程,资源分5分有点高,但是保证该工程能用,如有疑问,请留言,我会回复解决。说明:数据库使用的是MySQL,数据库初始化脚本在文件src\main\resources\schemeone\sqltext\init\springmybatis.sql里面。一切跑不起来的程序和走不通的教程都是耍流氓,如果你按照博客做遇到问题,请给我留言,谢谢。

avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: