zoukankan      html  css  js  c++  java
  • Intellij IDEA 14中使用MyBatis-generator 自动生成MyBatis代码

    一:项目建立好及其基本的测试好

    二:在maven项目的pom.xml 添加mybatis-generator-maven-plugin 插件

     <build>
        <finalName>CourseDesignManage</finalName>
        <plugins>
          <plugin>
            <groupId>org.mybatis.generator</groupId>
            <artifactId>mybatis-generator-maven-plugin</artifactId>
            <version>1.3.5</version>
            <configuration>
              <!--配置文件的位置-->
              <configurationFile>src/main/resources/generatorConfig.xml</configurationFile>
              <verbose>true</verbose>
              <overwrite>true</overwrite>
            </configuration>
            <executions>
              <execution>
                <id>Generate MyBatis Artifacts</id>
                <goals>
                  <goal>generate</goal>
                </goals>
              </execution>
            </executions>
    
          </plugin>
        </plugins>
      </build>

    还有一个就是

    <!--利用mybatis-generator自动生成代码-->
        <dependency>
          <groupId>org.mybatis.generator</groupId>
          <artifactId>mybatis-generator-core</artifactId>
          <version>1.3.5</version>
        </dependency>

    三,在maven项目下的src/main/resources 目录下建立名为 generatorConfig.xml的配置文件,作为mybatis-generator-maven-plugin 插件的执行目标,模板如下:

    <?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="generator.properties"></properties>
    
        <classPathEntry    location="${jdbc.driverLocation}"/>
    
        <context id="mysql"    targetRuntime="MyBatis3">
            <!--****************************************************************************************************-->
            <!-- 自动识别数据库关键字,默认false,如果设置为true,根据SqlReservedWords中定义的关键字列表;
           一般保留默认值,遇到数据库关键字(Java关键字),使用columnOverride覆盖-->
            <property name="autoDelimitKeywords" value="false"/>
    
            <!-- 生成的Java文件的编码 -->
            <property name="javaFileEncoding" value="UTF-8"/>
            <!-- 格式化java代码 -->
            <property name="javaFormatter" value="org.mybatis.generator.api.dom.DefaultJavaFormatter"/>
            <!-- 格式化XML代码 -->
            <property name="xmlFormatter" value="org.mybatis.generator.api.dom.DefaultXmlFormatter"/>
    
    
    
            <commentGenerator >
                <property name="suppressDate" value="true"/>
                <!-- 是否去除自动生成的注释 true:是 : false:否 -->
                <property name="suppressAllComments" value="true"/>
            </commentGenerator>
    
    
            <!--数据库链接地址账号密码-->
            <jdbcConnection driverClass="${jdbc.driverClass}"
                            connectionURL="${jdbc.connectionURL}"
                            userId="${jdbc.userId}"
                            password="${jdbc.password}">
            </jdbcConnection>
            <javaTypeResolver>
                <property name="forceBigDecimals" value="false"/>
            </javaTypeResolver>
    
    
            <!--生成entity类存放位置-->
            <javaModelGenerator targetPackage="com.cdms.entity" targetProject="src/main/java">
                <!-- 是否允许子包,即targetPackage.schemaName.tableName -->
                <property name="enableSubPackages" value="true"/>
                <!-- 是否对类CHAR类型的列的数据进行trim操作 -->
                <property name="trimStrings" value="true"/>
                <!-- 是否对model添加 构造函数 -->
                <property name="constructorBased" value="true"/>
            </javaModelGenerator>
    
    
            <!--生成映射文件存放位置-->
            <sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources">
                <property name="enableSubPackages" value="true"/>
            </sqlMapGenerator>
    
    
            <!--生成Dao类存放位置-->
            <javaClientGenerator type="XMLMAPPER" targetPackage="com.cdms.dao" targetProject="src/main/java">
                <property name="enableSubPackages" value="true"/>
            </javaClientGenerator>
    
    
            <!--生成对应表及类名-->
            <table tableName="login" domainObjectName="Login" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false">
                <property name="useActualColumnNames" value="false"/>
            </table>
        </context>
    </generatorConfiguration>

    这里使用了外置的配置文件generator.properties,可以将一下属性配置到properties文件之中,增加配置的灵活性:

    jdbc.driverLocation=E:\mysql-connector-java-5.1.35.jar
    jdbc.driverClass=com.mysql.jdbc.Driver
    jdbc.connectionURL=jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8
    jdbc.userId=root
    jdbc.password=root

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

     

    技术分享

    技术分享

    之后弹出运行配置框,为当前配置配置一个名称,这里其名为"generator",然后在 “Command line” 选项中输入“mybatis-generator:generate  -e”

    这里加了“-e ”选项是为了让该插件输出详细信息,这样可以帮助我们定位问题。

    技术分享

    技术分享

    如果添加成功,则会在run 选项中有“generator” 选项,如下:

    技术分享

    点击运行,然后不出意外的话,会在控制台输出:

    参考

    http://blog.csdn.net/z69183787/article/details/46560071

    http://www.mamicode.com/info-detail-445217.html

    http://www.cnblogs.com/smileberry/p/4145872.html

  • 相关阅读:
    Servlet Filter
    Analysis of Web.xml in Hello1 project
    Introduction of Annotation
    Analysis of container and Injection in Java, their history and future.
    Maven + Glassfish 实现hello
    java Building tool
    HTTP RFC(自学心得)
    URI和URL
    Git 版本控制
    Oracle RAC 全局等待事件 gc current block busy 和 gc cr multi block request 说明--转载(http://blog.csdn.net/tianlesoftware/article/details/7777511)
  • 原文地址:https://www.cnblogs.com/luffyu/p/6402941.html
Copyright © 2011-2022 走看看