逆向工程

article/2025/9/19 1:27:08

逆向工程

  • 数据库部分
  • 逆向工程
    • 说明
    • 导入文件 reverseProject
    • 添加相应jar包
    • 修改这个工程
    • 三个 .xml 文件都要修改的地方
    • 修改generatorConfig.xml文件
  • 工程终点-运行GeneratorSqlMap.java文件

在使用mybatis时需要根据数据表创建实体类,pojo类的映射文件以及sql语句和Dao层,而这些部分没有什么技术含量,myBatis官方提供了逆向功能,可以根据数据表自动生成pojo,映射文件以及dao层。我们通常将Dao层称为mapper.java,将映射文件称为mapper.xml,将会实体类称为pojo。

数据库部分

我用的数据库:MySQL 8.0.23
我新建的数据库名:sweetwine
用户名:root
密码;123456
在这里插入图片描述

我用的数据库版本是8.0.23 的,所以导入jar包时,与MySQL 五点几版本是不一样的。下面会提到。
查看MySQL的版本的方法:在cmd界面输入 mysql -uroot -p123456 (root是账号,123456是密码)

逆向工程

说明

导入文件之后,如果有错可以看“添加相应jar包”这一步,如果没错就修改文件就行了。因为有错的都是jar包的位置对应不上造成的。
没错的前提:在D盘新建一个文件夹【逆向工程】,在逆向工程的文件夹里放两个文件,一个叫【reverseProject】,另一个叫【逆向工程jar包】。这样就可保证jar包位置对应得上,就不会报错了。
下载地址:https://gitee.com/xiaoguo124/reverseProject

导入文件 reverseProject

在这里插入图片描述

添加相应jar包

选择项目,右键选择最后一个【properties】,就进入如下界面

  1. 第一步(图一),有错也就是带叉的全部删除(Remove)
  2. 第二步(图二),选择本地的jar包,添加进去(点击【Add External JARs…】)
  3. 图文点击打开之后,重回eclipse界面,点击【Apple and Close】就行
    在这里插入图片描述
    在这里插入图片描述
    完成之后长这样:(有黄色感叹号,但没红叉)
    在这里插入图片描述

说明:对我来说这里我有两个jar包时没有必要添加的,但是全部添加之后用不上的包也只是占点内存。
说一下哪些对我没用是
上图倒数第三个针对数据库mysql五点几的版本(我的是八点几),倒数第一个针对Oracle数据库

修改这个工程

因为每个人的数据库,表都不一样,所以要做一些适当的修改

三个 .xml 文件都要修改的地方

需要修改几处关键信息:

  • driverClass=“驱动类”(MySQL五点几版本不加 .cj)
  • connectionURL 端口号/数据库名
  • userId 用户名
  • password 用户密码

在这里插入图片描述

上图是针对数据库的修改,工程中的三个 .xml 文件都有需要该这个部分,错了就连不上了。
sweetwine是我的数据库名,可以回数据库部分看看



修改generatorConfig.xml文件

下面三个包注意一下就行(如果不改也可以)
在这里插入图片描述

  • 第一个:生成的实体类都在这个包,它们都是类
  • 第二个:生成的mapper映射文件,都在这个包,它们的后缀都是 xml
  • 第三个:生成的mapper接口,都在这个包,它们都是接口
  • 如果不习惯接口与xml文件在同一个包里的,可以让后两个的名字不一样就行

数据库中的表要一一对应(表名不错就行)

在这里插入图片描述

工程终点-运行GeneratorSqlMap.java文件

运行成功后便能生成两个包,包名就是上面 targetPackage(往上数第二张)引号的名字。

  • 执行的是红色框里的文件
  • 它上面的是成功之后的两个包
  • 可以对比前后的工程结构,前后多的就是这两个包
    在这里插入图片描述

把生成的两个包复制到主工程上(也就是需要写实体类和映射文件的JavaWeb项目)逆向工程的任务就结束了。
当数据库中表数量很多,且每个表里的列名也很多时,逆向工程能省了很多手写实体类,以及接口的时间。让编程变得高效。毕竟很多发明都是因为“人懒”才有的,想多动脑不动手的那种。


http://chatgpt.dhexx.cn/article/CfH6FdvB.shtml

相关文章

逆向 实战

逆向实操 汇编 《汇编语言》,王爽 《天书夜读》邵坚磊等 《Intel汇编指令集手册》 基础 学习汇编的原则 不推荐写纯汇编程序,一般都是通过_asm{}方式嵌入部分汇编代码学习汇编的目的是:解底层,调试,逆向分.c-编译->.s-汇编→.o(linux平台)/.obj(wi…

微信逆向分析(一)——逆向分析的原理

逆向的简单理解 正向开发,是先写代码,再编译成软件。而逆向分析,到手的只有软件。从软件入手,推测对应的代码,需要了解一下编译之后的软件是怎么跑起来的。 软件运行过程 1、软件加载到内存。 2、CPU读取内存的指令…

【JavaScript 逆向】网易易盾滑块逆向分析

声明 本文章中所有内容仅供学习交流,相关链接做了脱敏处理,若有侵权,请联系我立即删除! 案例目标 验证码:aHR0cHM6Ly9kdW4uMTYzLmNvbS90cmlhbC9qaWdzYXc 以上均做了脱敏处理,Base64 编码及解码方式&#xf…

【JavaScript 逆向】今日头条 jsvmp,_signature 参数分析

前言 现在一些网站对 JavaScript 代码采取了一定的保护措施,比如变量名混淆、执行逻辑混淆、反调试、核心逻辑加密等,有的还对数据接口进行了加密,这次案例是通过补环境过 jsvmp。 声明 本文章中所有内容仅供学习交流,相关链接…

【JavaScript 逆向】拼多多 anti_content 参数逆向解析

前言 现在一些网站对 JavaScript 代码采取了一定的保护措施,比如变量名混淆、执行逻辑混淆、反调试、核心逻辑加密等,有的还对数据接口进行了加密,这次案例是通过补环境过加密。 声明 本文章中所有内容仅供学习交流,相关链接做…

CTF逆向基础

更多资源请进入:https://github.com/SycloverTeam/SycRevLearn 查看。 1 IDA定位main函数 运行T1.exe。 将可执行程序放入IDA中,并查找字符。 双击。 按F5,进入代码。 可以对函数进行重新命名,此时也已经得到了flag。 2 …

[系统安全] 一.什么是逆向分析、逆向分析基础及经典扫雷游戏逆向

您可能之前看到过我写的类似文章,为什么还要重复撰写呢?只是想更好地帮助初学者了解病毒逆向分析和系统安全,更加成体系且不破坏之前的系列。因此,我重新开设了这个专栏,准备系统整理和深入学习系统安全、逆向分析和恶…

逆向--基础知识篇

基础知识 可执行文件 计算机中可以被直接执行的程序被称之为可执行文件,可执行文件中是由指定操作系统的可执行文件格式规范与当前CPU机器指令码组成。不同的操作系统、不同的CPU之间的可执行文件都可能存在或多或少的差异。本篇主要以Windows操作系统、x86架构的…

逆向入门到入土

第一章 概述 学了几个月的逆向,记得10月份国庆节刚开始学的时候 感觉找flag蛮有意思,看着一个up主的视频,那时候c语言也没怎么学,所以就单纯他怎么做,我自己怎么做,后面去一些ctf靶场做了几道题&#xff0…

BNU1064:人品问题

“人品既不能被创生,也不能被消灭。只能从一个人转移到另一个人,从一个层面转化到另一个层面,而在转移和转化的过程当中,人品的总和保持不变。” 至此引出人品学(Characterics)三定律: 第一定律:即人品守恒…

开发者的人品问题

程序员都知道:绝大多数编程中的问题,最终都是自己的人品问题。当遇到奇怪的问题时,我们总是喜欢怀疑系统、怀疑编译器、怀疑网络、怀疑硬件……就是不愿意怀疑自己的人品。熬过几个不眠之夜后,最终还是发现自己的代码存在人品问题…

A. 人品问题

A. 人品问题 Time Limit: 1000ms Case Time Limit: 1000ms Memory Limit: 65536KB 64-bit integer IO format: %lld Java class name: Main Submit Status PID: 1064 Font Size: - “人品既不能被创生,也不能被消灭。只能从一个人转移到另一个人,从…

BNU 1082 人品问题

这个题我是1A 突然觉得自己好叼 #include<bits/stdc.h> int main() {printf("25\n");return 0; }

人品问题

Description 网上出现了一种高科技产品——人品测试器。只要你把你的真实姓名输入进去&#xff0c;系统将自动输出你的人品指数。yzx不相信自己的人品为0。经过了许多研究后&#xff0c;yzx得出了一个更为科学的人品计算方法。这种方法的理论依据是一个非常重要的结论&#xff…

人品差的人,开口闭口都是这些话,一定不要深交!

说话之道&#xff0c;也是为人之道。 言语是思想的发声&#xff0c;从一个人的话里&#xff0c;往往可以听出其内心的声音。 从而初步判断出一个人的人品如何&#xff0c;是否值得交往。 那些人品差的人&#xff0c;开口闭口都离不开以下三种话&#xff0c;身边若有此类人&a…

adb logcat 命令行用法

本文为转载。 作者 :万境绝尘 转载请著名出处 eclipse 自带的 LogCat 工具太垃圾了, 开始用 adb logcat 在终端查看日志; 1. 解析 adb logcat 的帮助信息 在命令行中输入 adb logcat --help 命令, 就可以显示该命令的帮助信息; [plain] view plain copy octopusoctopus:~$ ad…

java logcat_logcat -- 基本用法

1.Log类是一个日志类&#xff0c;我们可以在代码中使用logcat打印出消息 常见的日志记录方法有&#xff1a; v(String,String) --verbose 显示全部信息 d(String,String) -- debug 显示调试信息 i(String,String) -- information 显示一般信息 w(String,String) -- warning 显…

Logcat使用

目录 一、Logcat窗口 二、过滤 logcat 消息 三、Logcat的日志级别 四、设置日志信息颜色 一、Logcat窗口 Logcat在哪里&#xff1f;我都是直接点击工具栏中的Logcat图标。 Logcat窗口是用来查看应用日志的啦&#xff0c;我把每个部分标注了一下。 二、过滤 logcat 消息 一…

[Android]Logcat调试

Android采用Log(android.util.log)工具打印日志&#xff0c;它将各类日志划分为五个等级。 Log.e 打印错误信息 Log.w 打印警告信息 Log.i 打印一般信息 Log.d 打印调试信息 Log.v 打印冗余信息 不同等级的日志信息&#xff0c;在日志栏中会以不同颜色和等级(E、W、…

java logcat_使用 Logcat 写入和查看日志

Android Studio 中的 Logcat 窗口会显示系统消息,例如在进行垃圾回收时显示的消息,以及使用 Log 类添加到应用的消息。此窗口可以实时显示消息,也可以保留历史记录,因此您可以查看较早的消息。 要仅显示感兴趣的信息,您可以创建过滤器、修改消息中显示的信息量、设置优先级…