MyBatis逆向工程的配置与生成

news2024/11/24 12:58:42

什么是逆向工程

所谓的逆向⼯程是:根据数据库表逆向⽣成Java的pojo类,SqlMapper.xml⽂件,以及Mapper接⼝类
等。
要完成这个⼯作,需要借助别⼈写好的逆向⼯程插件。

1.在pom中添加逆向工程插件

<!--定制构建过程-->
<build>
 <!--可配置多个插件-->
	 <plugins>
	 <!--其中的⼀个插件:mybatis逆向⼯程插件-->
		 <plugin>
		 <!--插件的GAV坐标-->
		 <groupId>org.mybatis.generator</groupId>
		 <artifactId>mybatis-generator-maven-plugin</artifactId>
		 <version>1.4.1</version>
		 <!--允许覆盖-->
		 <configuration>
		 	<overwrite>true</overwrite>
		 </configuration>
		 <!--插件的依赖-->
		 <dependencies>
		 <!--mysql驱动依赖-->
		 <dependency>
		 <groupId>mysql</groupId>
		 <artifactId>mysql-connector-java</artifactId>
		 <version>8.0.30</version>
		 </dependency>
		 </dependencies>
		 </plugin>
	 </plugins>
</build>

2.配置generatorConfig.xml

注意

该⽂件名必须叫做: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>
    <!--
    targetRuntime有两个值:
    MyBatis3Simple:⽣成的是基础版,只有基本的增删改查。
    MyBatis3:⽣成的是增强版,除了基本的增删改查之外还有复杂的增删改查。
    -->
    <context id="DB2Tables" targetRuntime="MyBatis3">
        <!--防⽌⽣成重复代码-->
        <plugin type="org.mybatis.generator.plugins.UnmergeableXmlMappersPlugin"/>

        <commentGenerator>
            <!--是否去掉⽣成⽇期-->
            <property name="suppressDate" value="true"/>
            <!--是否去除注释-->
            <property name="suppressAllComments" value="true"/>
        </commentGenerator>
        <!--连接数据库信息-->
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                        connectionURL="jdbc:mysql://localhost:3306/servlet"
                        userId="root"
                        password="hsp">
        </jdbcConnection>
        <!-- ⽣成pojo包名和位置 -->
        <javaModelGenerator targetPackage="com.hkd.web.bean" targetProject="src/main/java">
            <!--是否开启⼦包-->
            <property name="enableSubPackages" value="true"/>
            <!--是否去除字段名的前后空⽩-->
            <property name="trimStrings" value="true"/>
        </javaModelGenerator>
        <!-- ⽣成SQL映射⽂件的包名和位置 -->
        <sqlMapGenerator targetPackage="com.hkd.web.mapper" targetProject="src/main/resources">
            <!--是否开启⼦包-->
            <property name="enableSubPackages" value="true"/>
        </sqlMapGenerator>
        <!-- ⽣成Mapper接⼝的包名和位置 -->
        <javaClientGenerator
                type="xmlMapper"
                targetPackage="com.hkd.web.mapper"
                targetProject="src/main/java">
            <property name="enableSubPackages" value="true"/>
        </javaClientGenerator>
        <!-- 表名和对应的实体类名-->
<!--        <table tableName="t_" domainObjectName="Car"/>-->
        <table tableName="dept" domainObjectName="Dept"></table>
    </context>
</generatorConfiguration>

操作方法

在这里插入图片描述
点击 mybatis - generator:generate,就会按着你指定的数据库表自动生成实体类,sql映射文件。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/717675.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

字符流的使用

1&#xff1a;文件字符流输入流-一次读取一个字符 1:文件字符输入流&#xff1a;Reader 以内存为基准&#xff0c;把磁盘文件中的数据以字符的形式读取到内存中去。 2&#xff1a;文件字符流输入流-一次读取一个字符数组 3&#xff1a;文件字符输出流 作用&#xff1a;以内存…

【现场问题】flink-cdc,Oracle2Mysql的坑,Oracle区分大小写导致

大小写导致的问题 错误的flink-cdc语句sql我们看一下oracle的数据库字段再看一下错误sql里面的内容flink报错内容 正确的sql三级目录 错误的flink-cdc语句sql CREATE TABLE t_wx_source_1 (id String,name String,age String ) WITH (connector oracle-cdc,hostname 192.168…

U-Boot移植 (3)- uboot启动Linux内核测试

文章目录 1. bootcmd 和 bootargs 环境变量1.1 环境变量 bootcmd1.2 环境变量 bootargs 2. uboot 启动 Linux 测试2.1 从 EMMC 启动 Linux 系统2.2 从网络启动 Linux 系统 3. 总结 1. bootcmd 和 bootargs 环境变量 1.1 环境变量 bootcmd bootcmd 保存着 uboot 默认命令&…

Netty专题:netty概述,及丢弃协议服务(1)

Netty 是一个 Java NIO 客户端服务器框架&#xff0c;使用它可以快速简单地开发网络应用程序&#xff0c;比如服务器和客户端的协议。Netty 大大简化了网络程序的开发过程比如 TCP 和 UDP 的 socket 服务的开发。 JDK 原生 NIO 程序的问题 JDK 原生也有一套网络应用程序 API&…

秋招算法岗c++面经

目录 1、指针与引用的区别 2.const关键字 3.重载和重写(覆盖)的区别 4.new和malloc的区别(new封装了malloc) 5.static和const的区别 6. c三大特性 7.虚函数 8.纯虚函数 9.虚继承 10. 智能指针 11. 内存泄漏 12.c的内存分布 13.STL介绍 1、指针与引用的区别 指针存…

【Web3】认识NFT

NFT&#xff08;非同质化代币&#xff09;在Web3中扮演着重要的角色。Web3是指下一代互联网&#xff0c;它建立在区块链技术之上&#xff0c;旨在实现更加去中心化、透明和用户掌控的互联网。 NFT在Web3的一些重要作用&#xff1a; 唯一性和可证明稀缺性&#xff1a;NFT是一种…

vscode突然不能输入中文句号,怎么办

vscode突然不能输入中文句号&#xff0c;怎么办? 敲代码敲得好好的&#xff0c;突然无论打句号&#xff0c;出来的都是英文的句号&#xff0c;无法打出中文的句号&#xff0c; 让人着实着急。。。 记录一下解决办法&#xff1a; Ctrl 句号&#xff0c;然后再测试一下&…

JavaWeb 速通HTML(常用标签汇总及演示)

目录 一、拾枝杂谈 1.网页组成 : 1 结构 2 表现 3 行为 2.HTML入门 : 1 基本介绍 2.基本结构 : 3.HTML标签 : 1 基本说明 2 注意事项 二、常用标签汇总及演示 1.font标签 : 1 定义 2 演示 2.字符实体 : 1 定义 2 演示 3.标题标签 : 1 定义 2 演示 4. 超链接标签 : 1…

香薰市场分析:天猫香薰销售额近7.2亿,市场增长潜力大

在Z世代崛起的背景下&#xff0c;香薰作为能够调节情绪&#xff0c;提升生活品质的产品&#xff0c;备受市场青睐。作为一种健康、美容、舒缓压力的新兴行业&#xff0c;香薰市场也形成了自己的特色和竞争力&#xff0c;其发展前景十分广阔。 根据鲸参谋电商数据分析平台的相关…

Redis集群主从复制哨兵

环境配置&#xff1a; 一主二从 从机配置 主机查看 真实的主从配置应该在配置文件中配置&#xff0c;才是永久的 没哨兵的情况下&#xff0c;主机断开后。从机不会默认升级为主节点。需要手动配置。主机在启动后。依赖可以正常使用。从机断开后&#xff0c;期间主机写入东西&am…

探索HTML的黑科技:让你的网页变得无与伦比!

文章目录 1. 使用语义化标签2. 嵌套标签正确闭合3. 使用无障碍&#xff08;Accessibility&#xff09;特性4. 利用表单验证5. 使用内联 SVG6. 优化图像加载7. 优化 CSS 和 JavaScript8. 使用响应式设计9. 使用嵌入式视频和音频10. SEO 优化 以下是十个常用的 HTML 技巧&#xf…

SpringBoot整合Redis哨兵模式

文章目录 1、Redis哨兵复习2、整合3、简单举例4、RedisTemplate详解5、补充 1、Redis哨兵复习 Redis哨兵主要有三点作用&#xff1a; 监控&#xff1a;不断检查master和slave是否正常运行通知&#xff1a;当被监控的主从服务器发生问题时&#xff0c;向其他哨兵和客户端发送通…

当量因子法、InVEST、SolVES模型等多技术融合在生态系统服务功能社会价值评估

第一章 理论基础与研究热点分析 1. 生态系统服务与生态系统服务价值介绍 ​ 2. 生态系统服务价值研究方法 3. 生态系统服务价值研究热点 Citespace文献可视化分析 VOSviewer文献可视化分析 第二章 空间数据来源及预处理 1. 空间数据简介 2. ArcGIS Pro数据采集与分析 数…

直流运算放大器-----四种反馈电路(一)

目录 电压串联负反馈 电路图 计算公式 仿真 电压并联负反馈 电路图 计算公式 仿真 电流串联负反馈 电路图 计算公式 仿真 电流并联负反馈 电路图 计算公式 仿真 电压电流&#xff0c;串联并联反馈区分 电压串联负反馈 电路图 计算公式 仿真 因为是二倍放大&#x…

Spring boot +React集成ChatGPT 智能AI

在这里插入代码片import {Button, Input, Radio,Alert,Modal } from antd; import Marquee from react-fast-marquee; import {ChromeOutlined,WifiOutlined,AimOutlined } from ant-design/icons; import React, {useEffect, useState, useRef} from react; import chatgptPn…

MIT 6.S081 Lab Seven -- 多线程

MIT 6.S081 Lab Seven -- 多线程 引言MultithreadingUthread: switching between threads (moderate)代码解析补充 Using threads (moderate)代码解析 Barrier(moderate)代码解析 引言 本文为 MIT 6.S081 2020 操作系统 实验七解析。 MIT 6.S081课程前置基础参考: 基于RISC-V…

【C++初阶】12. Stack(栈)和Queue(队列)

1. 栈和队列的介绍 栈的介绍 队列的介绍 2. 栈和队列的使用 最小栈 栈的压入、弹出序列 逆波兰表达式求值 拓展&#xff1a;如何从中缀变为后缀 3. 两种设计模式 设计模式目前分为26种&#xff0c;这里就只介绍两种 适配器模式迭代器模式 在日常生活中&#xff0c;我们常…

Vue生态及实践 - Vue Router(1)

目录 路由 Vue-Router Mode Hash Mode HTML5 Mode 代码实操 目标是替换掉原版的vue-router 路由 路由&#xff08;routing&#xff09;就是通过互联的网络把信息从源地址传输到目的地址的活动。 ——wikipedia Vue-Router 传统web开发路由是后端控制的 随着ajax技术的…

【代理服务器】Squid 反向代理与Nginx缓存代理

目录 一、Squid 反向代理1.1工作机制1.2反向代理实验1.3清空iptables规则&#xff0c;关闭防火墙1.4验证 二、使用Nginx做反向代理缓存服务器三CDN简介3.1什么是CDN3.1CDN工作原理 一、Squid 反向代理 如果 Squid 反向代理服务器中缓存了该请求的资源&#xff0c;则将该请求的…

基于Surprise协同过滤实现短视频推荐

前言 前面一文介绍了通过基础的web项目结构实现简单的内容推荐&#xff0c;与其说那个是推荐不如说是一个排序算法。因为热度计算方式虽然解决了内容的时效质量动态化。但是相对用户而言&#xff0c;大家看到的都是几乎一致的内容&#xff08;不一样也可能只是某时间里某视频的…