逆向工程项目

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

逆向工程项目

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
相关文章
|
10月前
|
Unix 开发工具 iOS开发
iOS应用逆向工程笔记 -1
iOS应用逆向工程笔记 -1
50 0
|
1月前
|
Java 测试技术 Maven
在Java项目中集成单元测试与覆盖率工具
在Java项目中集成单元测试与覆盖率工具
|
3月前
软件体系结构 - 逆向工程
软件体系结构 - 逆向工程
25 1
|
3月前
|
XML Java 关系型数据库
SSM生成逆向工程
SSM生成逆向工程
|
3月前
|
存储 安全 算法
Android安全性: 如何防止Android应用的逆向工程?
Android安全性: 如何防止Android应用的逆向工程?
115 1
|
测试技术
jira学习案例127-传统单元测试1
jira学习案例127-传统单元测试1
69 0
jira学习案例127-传统单元测试1
|
测试技术
jira学习案例128-传统单元测试2
jira学习案例128-传统单元测试2
60 0
jira学习案例128-传统单元测试2
|
JSON Java 测试技术
SSH框架下单元测试的实现
实现了部门的增删改查 对Action进行了单元测试 对Service 进行了单元测试,通过mock的方式实现。
135 0
|
SQL Java 关系型数据库
PowerDesigner 逆向工程,太实用了!
最近想梳理公司项目的表间关系,从项目后台管理系统的操作入手,以及代码的hibernate注解入手,都不算特别尽人意,于是最后还是鼓捣了一下PowerDesigner的逆向工程图,这样更直观一些。
PowerDesigner 逆向工程,太实用了!
|
SQL Java 关系型数据库
好好编程-物流项目04【Mybatis逆向工程】
本文开始数据库表结构和mybatis的逆向工程
好好编程-物流项目04【Mybatis逆向工程】