【Maven】逆向工程的配置文件

逆向工程的介绍

  • MyBatis Generator: 简称MBG,是一个专门为MyBatis框架使用者定制的代码生成器,可以快速的根据表生成对应的映射文件,接口,以及bean类。支持基本的增删改查,以及QBC风格的条件查询。但是表连接、存储过程等这些复杂sql的定义需要我们手工编写。
  • 文档地址: http://www.mybatis.org/generator/
  • 官方工程地址: https://github.com/mybatis/generator/releases

pom.xml的配置

 <dependencies>

        <!--导入MySQL的驱动包-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.16</version>
        </dependency>

        <!--导入MyBatis的jar包-->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.5.6</version>
        </dependency>

        <!--junit-->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>

        <!--log4j-->
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
        </dependency>

        <!--导入lombokjar包-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.12</version>
            <scope>provided</scope>
        </dependency>
    </dependencies>


    <!-- 控制Maven在构建过程中相关配置 -->
    <build>
        <!-- 构建过程中用到的插件 -->
        <plugins>
            <!-- 具体插件,逆向工程的操作是以构建过程中插件形式出现的 -->
            <plugin>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-maven-plugin</artifactId>
                <version>1.3.0</version>
                <!--允许覆盖原始数据-->
                <configuration>
                    <overwrite>true</overwrite>
                </configuration>
                <!-- 插件的依赖 -->
                <dependencies>
                    <!-- 逆向工程的核心依赖 -->
                    <dependency>
                        <groupId>org.mybatis.generator</groupId>
                        <artifactId>mybatis-generator-core</artifactId>
                        <version>1.3.2</version>
                    </dependency>

                    <!-- 数据库连接池 -->
                    <dependency>
                        <groupId>com.mchange</groupId>
                        <artifactId>c3p0</artifactId>
                        <version>0.9.2</version>
                    </dependency>

                    <!-- MySQL驱动 -->
                    <dependency>
                        <groupId>mysql</groupId>
                        <artifactId>mysql-connector-java</artifactId>
                        <version>8.0.16</version>
                    </dependency>
                </dependencies>
            </plugin>
        </plugins>
    </build>

编辑配置文件

1、 在资源编辑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>
    <!--
            targetRuntime: 执行生成的逆向工程的版本
                    MyBatis3Simple: 生成基本的CRUD(清新简洁版)
                    MyBatis3: 生成带条件的CRUD(奢华尊享版)
     -->
    <context id="DB2Tables" targetRuntime="MyBatis3">
        <commentGenerator>
            <!-- 是否去除自动生成的注释 true:是 : false:否 -->
            <property name="suppressAllComments" value="false"/>
        </commentGenerator>

        <!-- 数据库的连接信息 -->
        <jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
                        connectionURL="jdbc:mysql://localhost:3306/atweb?serverTimezone=UTC&amp;allowMultiQueries=true&amp;rewriteBatchedStatements=true&amp;characterEncoding=utf-8"
                        userId="root"
                        password="root">
            <property name="nullCatalogMeansCurrent" value="true"/>
        </jdbcConnection>
        <!-- javaBean的生成策略-->
        <javaModelGenerator targetPackage="com.atguigu.mybatis.bean" targetProject=".\src\main\java">
            <!--生成子包-->
            <property name="enableSubPackages" value="true" />
            <property name="trimStrings" value="true" />
        </javaModelGenerator>

        <!-- SQL映射文件的生成策略 -->
        <sqlMapGenerator targetPackage="com.atguigu.mybatis.mapper"  targetProject=".\src\main\resources">
            <property name="enableSubPackages" value="true" />
        </sqlMapGenerator>

        <!-- Mapper接口的生成策略 -->
        <javaClientGenerator type="XMLMAPPER" targetPackage="com.atguigu.mybatis.mapper"  targetProject=".\src\main\java">
            <property name="enableSubPackages" value="true" />
        </javaClientGenerator>

        <!-- 逆向分析的表 -->
        <!-- tableName设置为%号,可以对应所有表,此时不写domainObjectName -->
        <!-- domainObjectName属性指定生成出来的实体类的类名 -->
        <!--<table tableName="demo_user" domainObjectName="User"/>-->
       <table tableName="%"/>
    </context>
</generatorConfiguration>

2、在资源编辑log4j.xml的配置文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">

    <!--日志采用标准的输出方式打印-->
    <appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">
        <param name="Encoding" value="UTF-8" />
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%-5p %d{MM-dd HH:mm:ss,SSS} %m  (%F:%L) \n" />
        </layout>
    </appender>

    <!--具体的日志级别-->
    <logger name="java.sql">
        <!--如果程序执行的是java.sql包中的内容 则详细打印日志-->
        <level value="debug" />
    </logger>
    <logger name="org.apache.ibatis">
        <level value="info" />
    </logger>

    <!--默认配置-->
    <root>
        <level value="debug" />
        <appender-ref ref="STDOUT" />
    </root>
</log4j:configuration>
3、在资源编辑mybatis-config.xml的配置文件
<!--mybatis配置文件的根标签-->
<configuration>
    <properties resource="properties/jdbc.properties"></properties>
    <settings>
        <!--开启驼峰映射规则 自动实现映射-->
        <setting name="mapUnderscoreToCamelCase" value="true"/>
        <!--开启子查询的懒加载-->
        <setting name="lazyLoadingEnabled" value="true"/>
    </settings>

    <typeAliases>
        <package name="com.atguigu.mybatis.pojo"/>
    </typeAliases>

    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="${jdbc.driver}"/>
                <property name="url" value="${jdbc.url}"/>
                <property name="username" value="${jdbc.username}"/>
                <property name="password" value="${jdbc.password}"/>
            </dataSource>
        </environment>
    </environments>

    <mappers>
       <!-- <mapper resource="mappers/UserMapper.xml"/>-->
        <package name="com.atguigu.mybatis.mapper"/>
    </mappers>
4、在资源创建一个properties文件夹并编辑的配置文件jdbc.properties
#以下四行是必须写的  初始化链接/最大链接 可选 如果没写 则采用默认值
#对于&号  xml中 需要使用&amp;号的方式转义  其它的位置不需要转义
jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/atweb?serverTimezone=UTC&rewriteBatchedStatements=true&characterEncoding=utf-8
jdbc.username=root
jdbc.password=root

资源

在这里插入图片描述

  • 在maven的控制台双击 , 即可
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
逆向工程(又名反向工程,Reverse Engineering-RE)是对产品设计过程的一种描述。 通俗解释: 对于软件项目的逆向工程就如同盖楼一样,一栋大楼摆在面前,在不知道大楼图纸(图纸其实就是程序的架构)的前提下,仿照现有的大楼结构(发布好的项目结构)盖出相同的大楼。 1、在eclipse中建立maven项目(单击链接查看教程) 2、打开建立的该项目所在文件夹:项目右击->Properties 3、找到该文件夹所在位置,并找到src目录 4、还原webapp文件夹(前台页面内容)中的内容:将放在服务器tomcat中的webapps文件夹下的.war文件拷贝出来解压将解压的内容放到原webapp文件夹中 5、还原resources文件夹(配置文件信息)中的内容:依然在解压的.war文件中找:WEB-INF->classes中的内容(除了com该文件,这个文件其实是本项目命名的存放java类的文件;其它项目有可能不同) 6、还原java文件夹(项目中的类包)内容:将5中的com文件夹中的内容直接打开任意一个最下面的子文件,将其拖到我们之前下载好的反编译软件中 7、通过eclipse重新加载该项目,将反编译出来的每一个类按照相应的结构、命名在原项目中建立 8、引入相关的jar包:jar包文件在解压的.war文件中:WEB-INF->lib文件夹下;项目右击->build path->Configure build path->Libraries->Add External JARs.. 选择jar包所在的文件也就是上面的lib文件夹位置 9、更新项目,并在eclipse中添加tomcat(点击链接查看教程) 10、解决项目中的问题,小编遇到的最多的问题是因为继承关系用到了泛型,所以在反编译的时候丢失了List或者set返回值类型,找到错误上面定义的地方,将对应的类型添加到上面就ok了! 11、appserver端代码搭建的时候,用到了hadoop技术,可能编译的时候会出现本地没有hadoop的错误(单击链接查看解决方法) 注:反编译完成之后,在测试功能的时候,发现导出excel中的逻辑有所错误,这方面还没有搞懂是当时人为问题还是反编译过程中的问题,不过最后跟了代码也解决了! 【总结】 以上是小编在研究完成之后属于教程性的东西,将其中小编实践以及思考的部分过程省略了。 活儿干完之后,得到经理和领导的大大赞扬是少不了的,另外吃肉也是少不了的。 但是更多的是,小编在解决这个大问题的时候的思考过程,其中困难部分: 1、研究生成war包之后,对应的文件的结构 2、研究java类的打包形式,对应的jar包的存放位置 3、对于该项目框架的梳理过程 4、整合过程,对于每一步操作细心的要求 5、整合完成,解决编译报错的过程 虽然活儿干完了,项目也跑了起来,但是对于里面的技术点自己还是得深入到代码中去研究,去感受,还有其中业务逻辑的梳理,以及设计思想的升华都需要去了解去学习。 只要相信自己,并付出与行动,终究会取得胜利的桂冠,加油O(∩_∩)O~
首先,要配置Maven逆向工程,您需要进行以下步骤: 1. 在您的项目中添加Maven依赖。打开项目的pom.xml文件,在<dependencies>标签中添加以下依赖项: ```xml <dependency> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-core</artifactId> <version>1.4.0</version> </dependency> ``` 2. 创建逆向工程配置文件。在项目的根目录下创建一个名为generatorConfig.xml的文件,并根据您的需求进行配置。下面是一个示例配置文件的内容: ```xml <!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="MyBatis3Simple"> <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/mydatabase" userId="root" password="root"> </jdbcConnection> <javaModelGenerator targetPackage="com.example.model" targetProject="src/main/java"> </javaModelGenerator> <sqlMapGenerator targetPackage="com.example.mapper" targetProject="src/main/resources"> </sqlMapGenerator> <javaClientGenerator type="XMLMAPPER" targetPackage="com.example.mapper" targetProject="src/main/java"> </javaClientGenerator> <table schema="myschema" tableName="mytable"> <generatedKey column="id" sqlStatement="JDBC" identity="true" /> </table> </context> </generatorConfiguration> ``` 请根据您的数据库和表的实际情况修改上述配置文件中的数据库连接URL、用户名、密码、目标包名等信息。 3. 配置Maven插件。在项目的pom.xml文件中,添加以下插件配置: ```xml <build> <plugins> <plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <version>1.4.0</version> <configuration> <configurationFile>${basedir}/generatorConfig.xml</configurationFile> <overwrite>true</overwrite> <verbose>true</verbose> </configuration> <dependencies> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.25</version> </dependency> </dependencies> </plugin> </plugins> </build> ``` 4. 运行Maven插件。打开命令行工具,进入项目根目录,然后运行以下命令执行逆向工程: ```shell mvn mybatis-generator:generate ``` 这样,Maven逆向工程配置完成了。执行该命令后,MyBatis Generator将根据您在generatorConfig.xml文件中的配置自动生成Java模型、Mapper接口和Mapper映射文件。 希望对您有所帮助!如果有其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值