news 2026/4/15 14:52:48

IntelliJ IDEA 逆向工程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
IntelliJ IDEA 逆向工程

IntelliJ IDEA 逆向工程

mybaits需要程序员自己编写sql语句,mybatis官方提供逆向工程,可以针对单表自动生成mybatis执行所需要的代码(mapper.java、mapper.xml、pojo)

1.下载逆向工程,配置Maven pom.xml 文件
<build> <finalName>SpringMVCBasic</finalName> <!-- 添加mybatis-generator-maven-plugin插件 --> <plugins> <plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <configuration> <verbose>true</verbose> <overwrite>true</overwrite> </configuration> </plugin> </plugins> </build>
我的pom.xml文件
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.4.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com</groupId> <artifactId>example</artifactId> <version>0.0.1-SNAPSHOT</version> <name>example</name> <description>Demo project for Spring Boot</description> <properties> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.0.1</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artifactId> </dependency> </dependencies> <build> <finalName>SpringMVCBasic</finalName> <!-- 添加mybatis-generator-maven-plugin插件 --> <plugins> <plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <configuration> <verbose>true</verbose> <overwrite>true</overwrite> </configuration> </plugin> </plugins> </build> </project>
2.生成代码配置文件

在maven项目下的src/main/resources 目录下新建generatorConfig.xmlgenerator.properties配置文件
generator.properties

​jdbc.driverLocation=C://Users//Administrator//.m2//repository//mysql//mysql-connector-java//5.1.21//mysql-connector-java-5.1.21.jar jdbc.driverClass=com.mysql.jdbc.Driver jdbc.connectionURL=jdbc:mysql://xxx.xxx.xxx.xxx:3306/xxx?useUnicode=true&amp;characterEncoding=utf-8 jdbc.userId=root jdbc.password=xxxxx

mysql-connector-java.jar位置就直接指向maven仓库就可以了
generatorConfig.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> <!--导入属性配置--> <properties resource="generator.properties"></properties> <!--指定特定数据库的jdbc驱动jar包的位置(绝对路径)--> <classPathEntry location="${jdbc.driverLocation}"/> <context id="default" targetRuntime="MyBatis3"> <!-- optional,旨在创建class时,对注释进行控制 --> <commentGenerator> <!--是否去掉自动生成的注释 true:是--> <property name="suppressDate" value="true"/> <property name="suppressAllComments" value="true"/> </commentGenerator> <!--jdbc的数据库连接:驱动类、链接地址、用户名、密码--> <jdbcConnection driverClass="${jdbc.driverClass}" connectionURL="${jdbc.connectionURL}" userId="${jdbc.userId}" password="${jdbc.password}"> </jdbcConnection> <!-- 非必需,类型处理器,在数据库类型和java类型之间的转换控制--> <javaTypeResolver> <property name="forceBigDecimals" value="false"/> </javaTypeResolver> <!-- Model模型生成器,用来生成含有主键key的类,记录类 以及查询Example类 targetPackage 指定生成的model生成所在的包名 targetProject 指定在该项目下所在的路径 --> <javaModelGenerator targetPackage="com.example.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.xml文件 --> <sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources"> <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.example.dao" targetProject="src/main/java" type="XMLMAPPER"> <property name="enableSubPackages" value="true"/> </javaClientGenerator> <!-- 数据表进行生成操作 tableName:表名; domainObjectName:对应的DO --> <table tableName="user" domainObjectName="User" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"> </table> </context> </generatorConfiguration>
注意:

有的人配置文件中http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd可能会报红。
解决方法:

以上步骤完成后就可以运行逆向工程了

有一次 我没有装上插件 显示(unknow) 具体原因没去深究,下面是解决方法

<build> <finalName>lift-mgmt-server</finalName> <pluginManagement> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </pluginManagement> <plugins> <!-- 添加mybatis-generator-maven-plugin插件 --> <plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <version>1.3.2</version> <configuration> <verbose>true</verbose> <overwrite>true</overwrite> </configuration> </plugin> </plugins> </build>

运行方法1:


运行方法2:

1.在Intellij IDEA添加一个“Run运行”选项

使用maven运行mybatis-generator-maven-plugin插件
新添加Maven运行选项

2. 在name和Commond line分别填上如上图所示,再点击Apply和OK。

3. 最后再运行generate

运行结果

《网络安全从零到精通全套学习大礼包》

96节从入门到精通的全套视频教程免费领取

如果你也想通过学网络安全技术去帮助就业和转行,我可以把我自己亲自录制的96节 从零基础到精通的视频教程以及配套学习资料无偿分享给你。

网络安全学习路线图

想要学习 网络安全,作为新手一定要先按照路线图学习方向不对,努力白费。对于从来没有接触过网络安全的同学,我帮大家准备了从零基础到精通学习成长路线图以及学习规划。可以说是最科学最系统的学习路线,大家跟着这个路线图学习准没错。

配套实战项目/源码

所有视频教程所涉及的实战项目和项目源码

学习电子书籍

学习网络安全必看的书籍和文章的PDF,市面上网络安全书籍确实太多了,这些是我精选出来的

面试真题/经验

以上资料如何领取?

efa4e739621ffb5d4309b20.jpeg#pic_center)

面试真题/经验

以上资料如何领取?

文章来自网上,侵权请联系博主

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/15 14:48:11

PKHeX自动合法性插件终极指南:3步实现宝可梦数据合规化

PKHeX自动合法性插件终极指南&#xff1a;3步实现宝可梦数据合规化 【免费下载链接】PKHeX-Plugins Plugins for PKHeX 项目地址: https://gitcode.com/gh_mirrors/pk/PKHeX-Plugins 还在为宝可梦数据合法性验证而烦恼吗&#xff1f;PKHeX自动合法性插件&#xff08;Aut…

作者头像 李华
网站建设 2026/4/15 14:46:27

2.【UPF】UPF Design Flow(UPF设计流程)

第一步&#xff1a;UPF设计流程原文逐行分析与知识整理 1. 为什么学习UPF设计流程 UPF在RTL到GDS全流程中的位置决定功耗管理成败。每个阶段&#xff08;仿真、综合、物理设计&#xff09;对UPF的使用方式不同。理解工具如何解释功耗意图&#xff0c;确保正确实现。 2. 你将学到…

作者头像 李华
网站建设 2026/4/15 14:43:17

JiYuTrainer深度解析:如何在极域电子教室环境中实现高效自主学习

JiYuTrainer深度解析&#xff1a;如何在极域电子教室环境中实现高效自主学习 【免费下载链接】JiYuTrainer 极域电子教室防控制软件, StudenMain.exe 破解 项目地址: https://gitcode.com/gh_mirrors/ji/JiYuTrainer 在数字化教学环境中&#xff0c;学生常常面临极域电子…

作者头像 李华
网站建设 2026/4/15 14:42:13

如何快速掌握MOFA:多组学因子分析的完整实战指南

如何快速掌握MOFA&#xff1a;多组学因子分析的完整实战指南 【免费下载链接】MOFA Multi-Omics Factor Analysis 项目地址: https://gitcode.com/gh_mirrors/mo/MOFA 你是否曾经面对海量的多组学数据感到无从下手&#xff1f;当转录组、蛋白质组、代谢组等多维度数据同…

作者头像 李华