用IDEA创建一个逆向工程(顺带用IDEA创建maven项目)

1、逆向工程

1-1.新建一个maven-webapp项目

创建一个maven项目
这里写图片描述
这里写图片描述
这里写图片描述

1-2.配置pom.xml

上一步点击finish之后,首先出现的界面是如下的
这里写图片描述
等待几秒钟,IDEA就会构建一个完整的pom.xml文件出来,这时候我们再进行pom.xml配置,
这里写图片描述
注意,右下角的蓝字Enable Auto-Import等配置完pom.xml文件后再点击,右下角先放着
先配置所需jar包的版本号在标签< properties >中
jar版本号
(这里我配置了spring等jar包,实际上构建逆向工程不需要spring包,只需要一个mybatis包即可),
版本号写完,再进行具体jar包的配置(在标签dependency中配置),
以下为完整的jar包配置
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
上面的图片有对应行号和注释了,应该看得很清楚了,至此具体jar包就配置完成了。


接下来就是配置逆向工程需要的build(在< build >标签中配置)了
这里写图片描述


至此pom.xml就全部完成了。这时候你们应该会发现上诉的图片中右下角的蓝字还未消失,此时再点击Enable Auto-Import
第一次加载pom.xml会比较慢,可能会加载几分钟,毕竟要下载许多jar包,大家耐心等待。起来活动活动脖子和眼睛哈哈哈


2.项目构造


自动加载完之后jar包放在下面的文件夹下,
jar包存放位置
项目的结构为:
这里写图片描述


接下来就需要我们创建逆向工程所需的文件夹及相关文件了。
点击右上角图标
这里写图片描述
选择SDK版本和Module版本
这里写图片描述
一般这部分可以不用动,因为构建项目的时候就已经自动加载好了,或者你可以根据你的需要来进行更改,


创建java文件夹和资源文件夹resources

文件夹 作用
java 用于构建逆向工程时放置生成的dao、model、mapper层对应文件
resources 放置构建逆向工程所需的jdbc.properties和generatorConfig.xml文件

创建java文件夹
创建java文件夹


同样的方法创建resources文件夹


这里写图片描述


之后对两个文件夹进行mark修饰
这里写图片描述
这里写图片描述


这里写图片描述
点击apply+ok,可以看到项目结构发生了改变出现两个新的文件夹
这里写图片描述

3.创建jdbc.properites、generatorConfig.xml

3-1.jdbc.properites

创建jdbc.properites

这里写图片描述
这里写图片描述

配置jdbc.properites

这里写图片描述

3-2.generatorConfig.xml

创建一个generatorConfig.xml文件

首先头部分:
这里写图片描述
重要部分
匹配头部分的版本和前面pom.xml设定的一样。


接下来具体内容:
< generatorConfiguration >

<!--导入属性配置-->
<properties resource="jdbc.properties"/>

<classPathEntry location="/Users/lingjunhao/.m2/repository/mysql/mysql-connector-java/5.1.35/mysql-connector-java-5.1.35.jar"></classPathEntry>

<context id="default" targetRuntime="MyBatis3">
    <!-- optional,旨在创建class时,对注释进行控制 -->
    <commentGenerator>
        <property name="suppressDate" value="true"/>
        <property name="suppressAllComments" value="true"/>
    </commentGenerator>
    <!--jdbc的数据库连接 -->
    <jdbcConnection
            driverClass="${jdbc.driver}"
            connectionURL="${jdbc.url}"
            userId="${jdbc.username}"
            password="${jdbc.password}">
    </jdbcConnection>
    <!-- 非必需,类型处理器,在数据库类型和java类型之间的转换控制-->
    <javaTypeResolver>
        <property name="forceBigDecimals" value="false"/>
    </javaTypeResolver>
    <!-- Model模型生成器,用来生成含有主键key的类,记录类 以及查询Example类
        targetPackage     指定生成的model生成所在的包名
        targetProject     指定在该项目下所在的路径
    -->
    <javaModelGenerator targetPackage="com.ssm.model" targetProject="src/main/java">
        <!-- 是否允许子包,即targetPackage.schemaName.tableName -->
        <property name="enableSubPackages" value="false"/>
        <!-- 是否对model添加 构造函数 -->
        <property name="constructorBased" value="true"/>
        <!-- 是否对类CHAR类型的列的数据进行trim操作 -->
        <property name="trimStrings" value="true"/>
        <!-- 建立的Model对象是否 不可改变  即生成的Model对象不会有 setter方法,只有构造方法 -->
        <property name="immutable" value="false"/>
    </javaModelGenerator>

    <!--Mapper映射文件生成所在的目录 为每一个数据库的表生成对应的SqlMap文件 -->
    <sqlMapGenerator targetPackage="com.ssm.mapper"
                     targetProject="src/main/java">
        <property name="enableSubPackages" value="false"/>
    </sqlMapGenerator>

    <!-- 客户端代码,生成易于使用的针对Model对象和XML配置文件 的代码
            type="ANNOTATEDMAPPER",生成Java Model 和基于注解的Mapper对象
            type="MIXEDMAPPER",生成基于注解的Java Model 和相应的Mapper对象
            type="XMLMAPPER",生成SQLMap XML文件和独立的Mapper接口
    -->
    <javaClientGenerator targetPackage="com.ssm.dao"
                         targetProject="src/main/java" type="XMLMAPPER">
        <property name="enableSubPackages" value="true"/>
    </javaClientGenerator>

    <!--tableName:指定了表名
        domainObjectName:指定了实体类的名称
    -->
    <table tableName="user" domainObjectName="user"
           enableCountByExample="false" enableUpdateByExample="false"
           enableDeleteByExample="false" enableSelectByExample="false"
           selectByExampleQueryId="false">
    </table>
</context>

< /generatorConfiguration >
重要部分
xml文件中的location需要我们自己去查路径
这里写图片描述
方法如下:
把之前自动加载的External Libraries文件夹打开找到mysql:mysql-connector-java的jar包右键–>open Library Settings
这里写图片描述
这里写图片描述
接下来复制这个jar包的路径,直接黏贴到< classPathEntry location=”ctrl+v黏贴到这里”>< /classPathEntry >
这里写图片描述

4.创建数据库

这里写图片描述
这里我创建了一个com_text数据库对应之前写的jdbc.properties文件夹下的对应的数据库名字。创建了一个User表,表中两个属性UserName\UserId.


5.运行调试

点击Run–>Edit Configurations


这里写图片描述


这里写图片描述

至此,一个逆向工程所有的东西都完成了
这时候点击Run运行一下
这里写图片描述


运行成功左下角消息提示器会提示finished的标识


然后打开项目的java文件夹可以发现多了三个文件夹和三个文件,分别对应的就是数据库的User表的内容
这里写图片描述
然后我们看一下里面的具体内容,model层中也就是我们熟悉的bean|entity层,放的是实体类
这里写图片描述
对应之前数据库的那个User表的元素


dao层的CRUD接口
这里写图片描述


mapper层的mybatis数据库sql语句等内容
这里写图片描述


6.结束语

花了下午的一些时间来做这个很简单的demo和这篇博客用于记录我学到的有关于逆向工程的事情,以及之前IDEA项目创建的具体步骤,可能还不够完善,但用于参考我觉得已经是可以的啦,也是第一次自己写博客,后面会继续加油学一些东西的。也会不定期得更新一些所学的知识,希望这篇博客给大家一定的参考。


然后希望大家如果转载啥的注明出处,毕竟码字和截图还是有点辛苦的,万分感谢啦


github.com的项目提供给大家进行下载
https://github.com/RobetLxx/-Demo#-demo


猜你喜欢

转载自blog.csdn.net/qq_38980636/article/details/82352644