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

    什么是逆向工程?

    逆向工程(又称逆向技术),是一种产品设计技术再现过程,即对一项目标产品进行逆向分析及研究,从而演绎并得出该产品的处理流程、组织结构、功能特性及技术规格等设计要素,以制作出功能相近,但又不完全一样的产品。
    mybatis是目前很流行的持久层框架,其逆向工程更是大大缩减了我们的开发时间。所谓mybatis逆向工程,就是mybatis会根据我们设计好的数据表,自动生成pojo、mapper以及mapper.xml。本文将介绍两种方式实现mybatis的逆向工程。
    一、 新建一个工程
    注:可以在已有的工程中进行逆向生成,也可以自己新建一个工程。但是建议自己新建一个空的工程,用于进行逆向生成,避免出现意外影响已有的工程。
    这里我使用idea创建maven工程
    在pom.xml配置mybatis-generator-maven-plugin

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

    创建 generatorConfig.xml 文件放到srcmainjava esource目录下,里面的内容是:

    <?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>
        <!-- 数据库驱动:选择你的本地硬盘上面的数据库驱动包-->
        <context id="DB2Tables"  targetRuntime="MyBatis3">
            <commentGenerator>
                <property name="suppressDate" value="true"/>
                <!-- 是否去除自动生成的注释 true:是 : false:-->
                <property name="suppressAllComments" value="true"/>
            </commentGenerator>
            <!--数据库链接URL,用户名、密码
               1.一般jdbc数据库的版本6.x以上,都是com.mysql.cj.jdbc.Driver  其他的低版本就是com.mysql.cj.jdbc.Driver
             -->
            <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://127.0.0.1:3309/miaosha?serverTimezone=GMT" userId="root" password="123456"></jdbcConnection>
            <javaTypeResolver>
                <property name="forceBigDecimals" value="false"/>
            </javaTypeResolver>
            <!-- 生成模型的包名和位置-->
            <javaModelGenerator targetPackage="club.qy.miaosha.dataobject" targetProject="src/main/java">
                <property name="enableSubPackages" value="true"/>
                <property name="trimStrings" value="true"/>
            </javaModelGenerator>
            <!-- 生成映射文件的包名和位置-->
            <sqlMapGenerator targetPackage="mapping" targetProject="src/main/resources">
                <property name="enableSubPackages" value="true"/>
            </sqlMapGenerator>
            <!-- 生成DAO的包名和位置-->
            <javaClientGenerator type="XMLMAPPER" targetPackage="club.qy.miaosha.dao" targetProject="src/main/java">
                <property name="enableSubPackages" value="true"/>
            </javaClientGenerator>
    
            <!-- 要生成的表 tableName是数据库中的表名或视图名 domainObjectName是实体类名-->
            <table tableName="user_info" domainObjectName="UserDO" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
            <table tableName="user_password" domainObjectName="UserPasswordDO" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
        </context>
    </generatorConfiguration>
    
    

    在这里插入图片描述
    双击运行后,就可以得到pojo,Mapper等已经帮我们写好的文件。
    或者点击编辑配置
    在这里插入图片描述
    选择“+”添加一个maven运行命令。
    在这里插入图片描述
    然后点击运行maven就能生成相关的mapper,DAO,实体类等文件。

  • 相关阅读:
    sql中内连接和外连接的区别
    javascript优化--08模式(代码复用)01
    javascript优化--07模式(对象)02
    javascript优化--06模式(对象)01
    HTML-Audio/Video
    javascript优化--05模式(函数)
    javascript优化--04高质量编码
    javascript优化--03高质量编码
    javascript优化--02高质量编码
    Unicode编码
  • 原文地址:https://www.cnblogs.com/dataoblogs/p/14121980.html
Copyright © 2011-2022 走看看