reverse的主要作用就是生成Mybatis逆向文件
pom.xml
首先,在此模块的pom.xml中添加需要的依赖。
<dependencies>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.4</version>
</dependency>
</dependencies>
<!-- 控制 Maven 在构建过程中相关配置 -->
<build>
<!-- 构建过程中用到的插件 -->
<plugins>
<!-- 具体插件, 逆向工程的操作是以构建过程中插件形式出现的 -->
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.5</version>
<configuration>
<configurationFile>
<!--这里是配置generatorConfig.xml的路径
不写默认在resources目录下找generatorConfig.xml文件
-->
</configurationFile>
<verbose>true</verbose>
<overwrite>true</overwrite>
</configuration>
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.19</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
核心代码是org.mybatis,逆向工程的操作是以构建过程中以插件形式出现的。
通过此按钮启动逆向工程。
逆向工程默认在resources目录下找generatorConfig.xml文件。
generator.xml
逆向工程配置文件
jdbc的数据库链接:
<jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/project_crowd?useSSL=false&useUnicode=false&characterEncoding=UTF8&serverTimezone=UTC"
userId="root"
password="123456">
</jdbcConnection>
这里解释一下这几个URL连接参数:
- 1、useSSL:是否进行SSL连接(利用数据加密,保障Internet数据传输安全)
- 2、serverTimezone:设置数据库时区,UTC代表的是全球标准时间
- 3、useUnicode:是否使用Unicode字符集
- 4、characterEncoding:驱动程序应使用什么字符编码
通过以下属性,配置逆向工程生成的文件
<!-- targetPackage:生成的实体类所在的包 -->
<!-- targetProject:生成的实体类所在的硬盘位置 -->
<javaModelGenerator targetPackage="com.atguigu.crowd.entity"
targetProject=".\src\main\java">
<!-- 是否允许子包 -->
<property name="enableSubPackages" value="false" />
<!-- 是否对modal添加构造函数 -->
<property name="constructorBased" value="true" />
<!-- 是否清理从数据库中查询出的字符串左右两边的空白字符 -->
<property name="trimStrings" value="true" />
<!-- 建立modal对象是否不可改变 即生成的modal对象不会有setter方法,只有构造方法 -->
<property name="immutable" value="false" />
</javaModelGenerator>
<!-- targetPackage 和 targetProject:生成的 mapper 文件的包和位置 -->
<sqlMapGenerator targetPackage="com.atguigu.crowd.mapper"
targetProject=".\src\main\java">
<!-- 针对数据库的一个配置,是否把 schema 作为字包名 -->
<property name="enableSubPackages" value="false" />
</sqlMapGenerator>
<!-- targetPackage 和 targetProject:生成的 interface 文件的包和位置 -->
<javaClientGenerator type="XMLMAPPER"
targetPackage="com.atguigu.crowd.mapper" targetProject=".\src\main\java">
<!-- 针对 oracle 数据库的一个配置,是否把 schema 作为字包名 -->
<property name="enableSubPackages" value="false" />
</javaClientGenerator>
t_auth表生成Auth类。
<!--数据库表名字和我们的entity类对应的映射指定-->
<table tableName="t_auth" domainObjectName="Auth" />