当前位置: 首页 > news >正文

Mybatis学习之逆向工程(十)

这里写目录标题

  • 一、简介
  • 二、创建逆向工程步骤
    • 1、准备工作
    • 2、添加依赖和插件
    • 3、创建逆向工程的配置文件
    • 4、执行MBG插件的generate目标
    • 5、测试

一、简介

  • 正向工程:先创建Java实体类,由框架负责根据实体类生成数据库表。Hibernate是支持正向工程的。
  • 逆向工程:先创建数据库表,由框架负责根据数据库表,反向生成如下资源
    • Java实体类
    • Mapper接口
    • Mapper映射文件

二、创建逆向工程步骤

1、准备工作

准备数据表:t_dept和t_emp

CREATE TABLE `t_dept` (`did` int(11) NOT NULL AUTO_INCREMENT,`dept_name` varchar(45) DEFAULT NULL,PRIMARY KEY (`did`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COMMENT='部门机构表';
CREATE TABLE `t_emp` (`eid` int(11) NOT NULL AUTO_INCREMENT,`emp_name` varchar(45) DEFAULT NULL,`age` int(11) DEFAULT NULL,`sex` char(1) DEFAULT NULL,`email` varchar(45) DEFAULT NULL,`did` int(11) DEFAULT NULL,PRIMARY KEY (`eid`)
) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8mb4 COMMENT='部门员工表';

2、添加依赖和插件

在pom.xml中添加依赖和插件,更新maven;pom文件如下

<?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><groupId>org.example</groupId><artifactId>MyBatis_MBG</artifactId><version>1.0-SNAPSHOT</version><properties><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target></properties><!-- 依赖MyBatis核心包 --><dependencies><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.5.7</version></dependency><!-- junit测试 --><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version><scope>test</scope></dependency><!-- MySQL驱动 --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.3</version></dependency><!-- log4j日志 --><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.17</version></dependency><dependency><groupId>org.junit.jupiter</groupId><artifactId>junit-jupiter</artifactId><version>RELEASE</version><scope>test</scope></dependency></dependencies><!-- 控制Maven在构建过程中相关配置 --><build><!-- 构建过程中用到的插件 --><plugins><!-- 具体插件,逆向工程的操作是以构建过程中插件形式出现的 --><plugin><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-maven-plugin</artifactId><version>1.3.0</version><!-- 插件的依赖 --><dependencies><!-- 逆向工程的核心依赖 --><dependency><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-core</artifactId><version>1.3.2</version></dependency><!-- 数据库连接池 --><dependency><groupId>com.mchange</groupId><artifactId>c3p0</artifactId><version>0.9.2</version></dependency><!-- MySQL驱动 --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.8</version></dependency></dependencies></plugin></plugins></build></project>

3、创建逆向工程的配置文件

文件名必须是:generatorConfig.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfigurationPUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN""http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration><!--targetRuntime: 执行生成的逆向工程的版本MyBatis3Simple: 生成基本的CRUD(清新简洁版)MyBatis3: 生成带条件的CRUD(奢华尊享版)--><context id="DB2Tables" targetRuntime="MyBatis3Simple"> <!-- 数据库的连接信息 --><jdbcConnection driverClass="com.mysql.jdbc.Driver"connectionURL="jdbc:mysql://localhost:3306/mybatis"userId="root"password="这里改成你自己的数据库密码"></jdbcConnection><!-- javaBean的生成策略--><javaModelGenerator targetPackage="cn.demo.mybatis.pojo"targetProject=".\src\main\java"><property name="enableSubPackages" value="true"/><property name="trimStrings" value="true"/></javaModelGenerator><!-- SQL映射文件的生成策略 --><sqlMapGenerator targetPackage="cn.demo.mybatis.mapper"targetProject=".\src\main\resources"><property name="enableSubPackages" value="true"/></sqlMapGenerator><!-- Mapper接口的生成策略 --><javaClientGenerator type="XMLMAPPER"targetPackage="cn.demo.mybatis.mapper" targetProject=".\src\main\java"><property name="enableSubPackages" value="true"/></javaClientGenerator><!-- 逆向分析的表 --><!-- tableName设置为*号,可以对应所有表,此时不写domainObjectName --> <!-- domainObjectName属性指定生成出来的实体类的类名 --><table tableName="t_emp" domainObjectName="Emp"/><table tableName="t_dept" domainObjectName="Dept"/></context>
</generatorConfiguration>

4、执行MBG插件的generate目标

在这里插入图片描述
这时候就会生成相关文件
在这里插入图片描述

5、测试

按照之前创建项目的方法,添加配置文件,写测试方法测试。

http://www.xdnf.cn/news/1283689.html

相关文章:

  • Python 类元编程(类工厂函数)
  • Vue 3 快速入门 第六章
  • 【MATLAB 2025a】安装离线帮助文档
  • web前端第三次作业
  • Azimutt:一款免费开源的多功能数据库工具
  • Linux下安装jdk
  • C语言(06)——二、八、十、十六进制的相互转换
  • 机器学习 TF-IDF提取关键词,从原理到实践的文本特征提取利器​
  • 稠密检索:基于神经嵌入的高效语义搜索范式
  • 【CSS 布局】告别繁琐计算:CSS 现代布局技巧(gap, aspect-ratio, minmax)
  • Wed前端第二次作业
  • 【Node.js从 0 到 1:入门实战与项目驱动】1.4 Node.js 的发展与生态(历史版本、LTS 版本、npm 生态系统)
  • 【LeetCode 热题 100】(七)链表
  • 5G NR NTN 在 PHY 层和 MAC 层实现 OAI
  • 软考 系统架构设计师系列知识点之杂项集萃(121)
  • 深入解析Windows系统下UDP绑定失败的原理与系统级解决方案
  • SQL中BETWEEN与IN的差异详解
  • ERA5---MATLAB处理水汽数据与臭氧数据的读取与重采样-重复性工作
  • Linux系统编程Day12 -- 环境变量(初识)
  • Flutter学习笔记(六)---状态管理、事件、路由、动画
  • MCU 软件断点注意事项!!!
  • LVPECL、LVDS、LVTTL、LVCMOS四种逻辑电平标准的全面对比
  • C# 异步编程(BeginInvoke和EndInvoke)
  • GPT-5 全面解析与最佳实践指南
  • python面向对象设计模式
  • Linux DNS服务解析原理与搭建
  • OrbStack 入门教程:macOS 上的轻量级容器与虚拟机管理工具
  • C#高级语法_泛型
  • Vue 中的 Class 与 Style 绑定详解2
  • 基于 Spring Boot 的登录功能实现详解