zoukankan      html  css  js  c++  java
  • java逆向工程-mybatis-generator

    题记:在快速开发的项目中有使用到,这样可以避免冗余工作

    声明:参考于https://www.cnblogs.com/smileberry/p/4145872.html

    环境:必须先安装maven环境,否则无法实现哦!

    mybatis和mysql驱动包下载:https://pan.baidu.com/s/1fE83MJQUPMb4OSU__jm3qw

    方式一(命令行执行):

      1、目录结构

      2、generatorConfig.xml内容

    <?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>  
    <!-- 数据库驱动-->  
        <classPathEntry  location="mysql-connector-java-5.1.30.jar"/>  
        <context id="DB2Tables"  targetRuntime="MyBatis3">  
            <commentGenerator>  
                <property name="suppressDate" value="true"/>  
                <!-- 是否去除自动生成的注释 true:是 : false:否 -->  
                <property name="suppressAllComments" value="true"/>  
            </commentGenerator>  
            <!--数据库链接URL,用户名、密码 -->  
            <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://127.0.0.1/test1" userId="root" password="yang156122">  
            </jdbcConnection>  
            <javaTypeResolver>  
                <property name="forceBigDecimals" value="false"/>  
            </javaTypeResolver>  
            <!-- 生成模型的包名和位置-->  
            <javaModelGenerator targetPackage="test.model" targetProject="src">  
                <property name="enableSubPackages" value="true"/>  
                <property name="trimStrings" value="true"/>  
            </javaModelGenerator>  
            <!-- 生成映射文件的包名和位置-->  
            <sqlMapGenerator targetPackage="test.mapping" targetProject="src">  
                <property name="enableSubPackages" value="true"/>  
            </sqlMapGenerator>  
            <!-- 生成DAO的包名和位置-->  
            <javaClientGenerator type="XMLMAPPER" targetPackage="test.dao" targetProject="src">  
                <property name="enableSubPackages" value="true"/>  
            </javaClientGenerator>  
            <!-- 要生成的表 tableName是数据库中的表名或视图名 domainObjectName是实体类名-->  
            <table tableName="syspermission" domainObjectName="Syspermission" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
            
            <table tableName="sysrole" domainObjectName="Sysrole" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
    
            <table tableName="user_t" domainObjectName="User_t" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
        </context>  
    </generatorConfiguration>  

    很多博客有很多冗余信息,我这里就直接给出一些简单的信息了,但这些信息绝对是实用的。

      3、进入到步骤1中的目录中,执行下面命令:

    java -jar mybatis-generator-core-1.3.2.jar -configfile generatorConfig.xml -overwrite

      这样就实现了逆向工程,可以将代码拷贝进项目中。

    方式二(idea工具中实现):

      1、重申:maven需要先配置。首先建立一个springboot工程,在pom.xml中添加以下配置:

      <plugin>
                    <groupId>org.mybatis.generator</groupId>
                    <artifactId>mybatis-generator-maven-plugin</artifactId>
                    <version>1.3.2</version>
                    <configuration>
                        <verbose>true</verbose>
                        <overwrite>true</overwrite>
                    </configuration>
      </plugin>

      2、generatorConfig.xml内容,注意,targetPackage是包名,targetProject是路径名,数据库驱动是本地的mysql数据连接驱动。

    <?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>  
    <!-- 数据库驱动-->  
        <classPathEntry  location="D:/21CN/Generator/mysql-connector-java-5.1.30.jar"/>
        <context id="DB2Tables"  targetRuntime="MyBatis3">  
            <commentGenerator>  
                <property name="suppressDate" value="true"/>  
                <!-- 是否去除自动生成的注释 true:是 : false:否 -->  
                <property name="suppressAllComments" value="true"/>  
            </commentGenerator>  
            <!--数据库链接URL,用户名、密码 -->  
            <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://127.0.0.1/test1" userId="root" password="yang156122">  
            </jdbcConnection>  
            <javaTypeResolver>  
                <property name="forceBigDecimals" value="false"/>  
            </javaTypeResolver>  
            <!-- 生成模型的包名和位置-->  
            <javaModelGenerator targetPackage="com.test.shiro.entity" targetProject="D:/springboot-shiro2/src/main/java">
                <property name="enableSubPackages" value="true"/>  
                <property name="trimStrings" value="true"/>  
            </javaModelGenerator>  
            <!-- 生成映射文件的包名和位置-->  
            <sqlMapGenerator targetPackage="mapper" targetProject="D:/springboot-shiro2/src/main/resources">
                <property name="enableSubPackages" value="true"/>  
            </sqlMapGenerator>  
            <!-- 生成DAO的包名和位置-->  
            <javaClientGenerator type="XMLMAPPER" targetPackage="com.test.shiro.mapper" targetProject="D:/springboot-shiro2/src/main/java">
                <property name="enableSubPackages" value="true"/>  
            </javaClientGenerator>  
            <!-- 要生成的表 tableName是数据库中的表名或视图名 domainObjectName是实体类名-->  
            <table tableName="syspermission" domainObjectName="Syspermission" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
            
            <table tableName="sysrole" domainObjectName="Sysrole" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
    
            <table tableName="user_t" domainObjectName="User_t" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
        </context>  
    </generatorConfiguration>  

      3、idea中使用maven命令执行

    这样,在Idea中就实现了逆向工程了。

    亲测有效,如果有什么问题,可以留言.

  • 相关阅读:
    webservice理解
    什么是xmlschema
    web项目中的跨域问题解决方法
    浏览器的同源策略和跨域问题
    java中Scanner和random的用法
    mybatis的批量删除
    java中的异常理解
    事务回滚
    做人做事2个字:心、眼
    Linux下找不到so文件的解决办法
  • 原文地址:https://www.cnblogs.com/ywjfx/p/10075996.html
Copyright © 2011-2022 走看看