Maven插件-mybatis-generator(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>中加入:

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

1.2配置plugin

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

  <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>
        </plugin>
     </plugins>
  </build>

 

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

2创建generatorConfig.xml

官网地址:http://mybatis.org/generator/configreference/xmlconfig.html

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="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>
          <property  name="forceBigDecimals"  value="false"/>
      </javaTypeResolver>

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

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

      <!--自动生成的*Mapper.java存放路径 -->
      <javaClientGenerator type="XMLMAPPER" targetPackage="com.xyt.dao"  targetProject="src/main/java">
          <property  name="enableSubPackages"  value="true"/>
      </javaClientGenerator>

      <!-- 指定数据库表 -->
      <table  tableName="sys_systemname"></table>
      <table  tableName="sys_roleinfo"></table>
     

  <table schema="DB2ADMIN" tableName="ALLTYPES" domainObjectName="Customer" >
      <property name="useActualColumnNames" value="true"/>
      <generatedKey column="ID" sqlStatement="DB2" identity="true" />
      <columnOverride column="DATE_FIELD" property="startDate" />
      <ignoreColumn column="FRED" />
      <columnOverride column="LONG_VARCHAR_FIELD" jdbcType="VARCHAR" />
    </table>

   </context>

</generatorConfiguration>

2.2其它说明

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

 

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

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

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

 

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

3.1配置

 

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

   

 

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

 

  

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

  

 

3.2执行mybatis-generator:generate命令

 

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

 

 

 

 

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

 

 

 

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

 

 

 

另一种运行方式(不推荐):

@Test
    public void test1() throws Exception{
        List<String> warnings = new ArrayList<String>();
        boolean overwrite = true;
        ConfigurationParser cp = new ConfigurationParser(warnings);
        Configuration config =
                      cp.parseConfiguration(getResourceAsStream("generatorConfig.xml"));
        DefaultShellCallback callback = new DefaultShellCallback(overwrite);
        MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings);
        myBatisGenerator.generate(null);
        for (String warning : warnings) {
            System.out.println(warning);
        }
    }

    private InputStream getResourceAsStream(String string) {
        InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream(string);
        return inputStream;
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值