1、逆向工程
1-1.新建一个maven-webapp项目
1-2.配置pom.xml
上一步点击finish之后,首先出现的界面是如下的
等待几秒钟,IDEA就会构建一个完整的pom.xml文件出来,这时候我们再进行pom.xml配置,
注意,右下角的蓝字Enable Auto-Import等配置完pom.xml文件后再点击,右下角先放着
先配置所需jar包的版本号在标签< properties >中
(这里我配置了spring等jar包,实际上构建逆向工程不需要spring包,只需要一个mybatis包即可),
版本号写完,再进行具体jar包的配置(在标签dependency中配置),
以下为完整的jar包配置
上面的图片有对应行号和注释了,应该看得很清楚了,至此具体jar包就配置完成了。
接下来就是配置逆向工程需要的build(在< build >标签中配置)了
至此pom.xml就全部完成了。这时候你们应该会发现上诉的图片中右下角的蓝字还未消失,此时再点击Enable Auto-Import
第一次加载pom.xml会比较慢,可能会加载几分钟,毕竟要下载许多jar包,大家耐心等待。起来活动活动脖子和眼睛哈哈哈
2.项目构造
自动加载完之后jar包放在下面的文件夹下,
项目的结构为:
接下来就需要我们创建逆向工程所需的文件夹及相关文件了。
点击右上角图标
选择SDK版本和Module版本
一般这部分可以不用动,因为构建项目的时候就已经自动加载好了,或者你可以根据你的需要来进行更改,
创建java文件夹和资源文件夹resources
文件夹 | 作用 |
---|---|
java | 用于构建逆向工程时放置生成的dao、model、mapper层对应文件 |
resources | 放置构建逆向工程所需的jdbc.properties和generatorConfig.xml文件 |
同样的方法创建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