逆向工程项目

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 逆向工程项目

逆向工程项目

Mybatis:MyBatis 是一款优秀的基于java的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis的主要设计目的就是让我们对执行SQL语句时对输入输出的数据管理更加方便,所以方便地写出SQL和方便地获取SQL的执行结果才是MyBatis的核心竞争力。

逆向工程:mybatis官方为了提高开发效率,提高自动对单表生成sql,包括 :mapper.xml(配置文件)、mapper.java(接口)、表名.java(pojo类、Javabeen)在企业开发中通常是在设计阶段对表进行设计 、创建。 在开发阶段根据表结构创建对应的pojo类。mybatis逆向工程的方向:由数据库表 —>java代码。

1.创建maven项目

打开idea,选择New Project,选择maven

输入GroupId和ArtifactId,完成后点击next

确认项目名称、路径,没问题后点击Finish

2.在pom.xml文件添加依赖

在pom.xml里面添加下面信息

<dependencies>
    <!--mysql驱动-->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.26</version>
    </dependency>
    <dependency>
        <groupId>org.mybatis.generator</groupId>
        <artifactId>mybatis-generator-core</artifactId>
        <version>1.3.2</version>
    </dependency>
    <!--MyBatis整合SpringBoot框架的起步依赖-->
    <dependency>
        <groupId>org.mybatis.spring.boot</groupId>
        <artifactId>mybatis-spring-boot-starter</artifactId>
        <version>2.0.0</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.apache.ibatis/ibatis-core -->
    <dependency>
        <groupId>org.apache.ibatis</groupId>
        <artifactId>ibatis-core</artifactId>
        <version>3.0</version>
    </dependency>
</dependencies>
<build>
    <resources>
        <resource>
            <directory>src/main/java</directory>
            <includes>
                <include>**/*.xml</include>
            </includes>
        </resource>
    </resources>
    <plugins>
        <plugin>
            <groupId>org.mybatis.generator</groupId>
            <artifactId>mybatis-generator-maven-plugin</artifactId>
            <version>1.3.2</version>
            <configuration>
                <!-- mybatis用于生成代码的配置文件 -->
                <configurationFile>GeneratorMapper.xml</configurationFile>
                <verbose>true</verbose>
                <overwrite>true</overwrite>
            </configuration>
        </plugin>
        <!--Springboot项目编译打包插件-->
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

3.创建application.properties

在resources下面创建application.properties,用于存储数据库相关信息

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/ry-vue?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone = GMT%2B8
spring.datasource.username=root
spring.datasource.password=rootfenfen

4.创建GeneratorMapper.xml文件

在根目录下创建GeneratorMapper.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>
    <!--********mysql驱动路径 需修改-->
    <classPathEntry location="D:/mavenrepository/mysql/mysql-connector-java/8.0.26/mysql-connector-java-8.0.26.jar"/>
    <context id="testTables" targetRuntime="MyBatis3">
        <commentGenerator>
            <!-- 是否去除自动生成的注释 true:是 : false:否 -->
            <property name="suppressAllComments" value="true"/>
        </commentGenerator>
        <!--数据库连接的信息:驱动类、连接地址、用户名、密码 需修改-->
        <jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
                        connectionURL="jdbc:mysql://localhost:3306/ry-vue" userId="root"
                        password="">
        </jdbcConnection>
        <!-- <jdbcConnection driverClass="oracle.jdbc.OracleDriver" connectionURL="jdbc:oracle:thin:@127.0.0.1:1521:yycg"
            userId="yycg" password="yycg"> </jdbcConnection> -->
        <!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer,为 true时把JDBC DECIMAL
            和 NUMERIC 类型解析为java.math.BigDecimal -->
        <javaTypeResolver>
            <property name="forceBigDecimals" value="false"/>
        </javaTypeResolver>
        <!-- targetProject:生成PO类的位置 需修改-->
        <javaModelGenerator targetPackage="com.pojo"
                            targetProject="src/main/java">
            <!-- enableSubPackages:是否让schema作为包的后缀 -->
            <property name="enableSubPackages" value="false"/>
            <!-- 从数据库返回的值被清理前后的空格 -->
            <property name="trimStrings" value="true"/>
        </javaModelGenerator>
        <!-- targetProject:mapper映射文件生成的位置 需修改-->
        <sqlMapGenerator targetPackage="com.mapper"
                         targetProject="src/main/java">
            <!-- enableSubPackages:是否让schema作为包的后缀 -->
            <property name="enableSubPackages" value="false"/>
        </sqlMapGenerator>
        <!-- targetPackage:mapper接口生成的位置 需修改-->
        <javaClientGenerator type="XMLMAPPER"
                             targetPackage="com.mapper"
                             targetProject="src/main/java">
            <!-- enableSubPackages:是否让schema作为包的后缀 -->
            <property name="enableSubPackages" value="false"/>
        </javaClientGenerator>
        <!-- 指定数据库表 -->
        <table tableName="sys_role"
               enableCountByExample="false"
               enableUpdateByExample="false"
               enableDeleteByExample="false"
               enableSelectByExample="false"
               selectByExampleQueryId="false">
        </table>
    </context>
</generatorConfiguration>

注意:

(1)修改 里面的loaction路径。

(2)修改生成路径

(3)增加数据库表

目录结构如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-op3IbmkO-1658067327607)(C:\Users\86184\AppData\Roaming\Typora\typora-user-images\image-20220716160838492.png)]

5.执行逆向工程

在Maven里面双击mybatis-generator插件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NZmdqBHh-1658067327609)(C:\Users\86184\AppData\Roaming\Typora\typora-user-images\image-20220716161059725.png)]

6.运行完成,在目录文件下面寻找相应文件

(3)增加数据库表

目录结构如下:

[外链图片转存中…(img-op3IbmkO-1658067327607)]

5.执行逆向工程

在Maven里面双击mybatis-generator插件

[外链图片转存中…(img-NZmdqBHh-1658067327609)]

6.运行完成,在目录文件下面寻找相应文件

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
Unix 开发工具 iOS开发
iOS应用逆向工程笔记 -1
iOS应用逆向工程笔记 -1
70 0
|
2月前
|
数据库 开发者
EasyCode 自动生成代码
【10月更文挑战第16天】总的来说,EasyCode 自动生成代码是一款非常有价值的工具。它为开发者们带来了便捷、高效和创新,让软件开发变得更加轻松和有趣。随着技术的不断进步,相信 EasyCode 还会不断完善和发展,为开发者们提供更多更好的服务。
38 1
|
4月前
|
SQL 关系型数据库 MySQL
PowerDesigner16.5逆向工程导入
本文介绍了如何通过现有数据库或SQL将数据逆向导入PowerDesigner。首先,需下载并安装PowerDesigner 16.5(32位),并通过指定链接获取软件及教程。接着,安装对应的MySQL ODBC驱动,配置ODBC数据源。最后,在PowerDesigner中通过文件&gt;反向工程&gt;database选项导入数据库。若环境不匹配,可直接导入SQL脚本文件。文中提供了详细步骤与截图指导。
71 0
|
7月前
软件体系结构 - 逆向工程
软件体系结构 - 逆向工程
62 1
|
7月前
|
XML Java 关系型数据库
SSM生成逆向工程
SSM生成逆向工程
|
SQL 运维 前端开发
Mybatis-Plus之逆向工程之旅
Mybatis-Plus之逆向工程之旅
173 0
|
7月前
|
安全 前端开发 Java
springboot代码混淆及反混淆代码工具
虽然加壳器在降低代码的可读性方面做得很好,但我们仍然可以看到它的主要字符串以明文形式编写,这可能会揭示它的一些功能。这就是为什么我们可能想要寻找更好的方法来混淆我们的代码。
|
Java 关系型数据库 数据库连接
MyBatis逆向生成工具EasyCode(很强大)
MyBatis逆向生成工具EasyCode(很强大)
276 0
|
消息中间件 JavaScript 小程序
SpringBoot 玩一玩代码混淆,防止反编译代码泄露
SpringBoot 玩一玩代码混淆,防止反编译代码泄露
Springboot 玩一玩代码混淆,防止反编译代码泄露
Springboot 玩一玩代码混淆,防止反编译代码泄露
355 0
Springboot 玩一玩代码混淆,防止反编译代码泄露