MyBatis逆向工程和MyBatisX插件的使用

1.ORM思维

ORM(Object-Relational Mapping,对象-关系映射)是一种将数据库和面向对象编程语言中的对象之间进行转换的技术。它将对象和关系数据库的概念进行映射,最后我们就可以通过方法调用进行数据库操作

ORM 框架通常有半自动和全自动两种方式。

  • 半自动 ORM 通常需要程序员手动编写 SQL 语句或者配置文件,将实体类和数据表进行映射,还需要手动将查询的结果集转换成实体对象。
  • 全自动 ORM 则是将实体类和数据表进行自动映射,使用 API 进行数据库操作时,ORM 框架会自动执行 SQL 语句并将查询结果转换成实体对象,程序员无需再手动编写 SQL 语句和转换代码。

半自动和全自动 ORM 框架的区别:

  1. 映射方式:半自动 ORM 框架需要程序员手动指定实体类和数据表之间的映射关系,通常使用 XML 文件或注解方式来指定;全自动 ORM 框架则可以自动进行实体类和数据表的映射,无需手动干预。
  2. 查询方式:半自动 ORM 框架通常需要程序员手动编写 SQL 语句并将查询结果集转换成实体对象;全自动 ORM 框架可以自动组装 SQL 语句、执行查询操作,并将查询结果转换成实体对象。
  3. 性能:由于半自动 ORM 框架需要手动编写 SQL 语句,因此程序员必须对 SQL 语句和数据库的底层知识有一定的了解,才能编写高效的 SQL 语句;而全自动 ORM 框架通过自动优化生成的 SQL 语句来提高性能,程序员无需进行优化。
  4. 学习成本:半自动 ORM 框架需要程序员手动编写 SQL 语句和映射配置,要求程序员具备较高的数据库和 SQL 知识;全自动 ORM 框架可以自动生成 SQL 语句和映射配置,程序员无需了解过多的数据库和 SQL 知识。

常见的半自动 ORM 框架包括 MyBatis 等;常见的全自动 ORM 框架包括 Hibernate、Spring Data JPA、MyBatis-Plus 等。

2.逆向工程

MyBatis 的逆向工程是一种自动化生成持久层代码和映射文件的工具,它可以根据数据库表结构和设置的参数生成对应的实体类、Mapper.xml 文件、Mapper 接口等代码文件,简化了开发者手动生成的过程。逆向工程使开发者可以快速地构建起 DAO 层,并快速上手进行业务开发。
MyBatis 的逆向工程有两种方式:通过 MyBatis Generator 插件实现和通过 Maven 插件实现。无论是哪种方式,逆向工程一般需要指定一些配置参数,例如数据库连接 URL、用户名、密码、要生成的表名、生成的文件路径等等。

3.MyBatisX插件的使用

MyBatisX 是一个 MyBatis 的代码生成插件,可以通过简单的配置和操作快速生成 MyBatis Mapper、pojo 类和 Mapper.xml 文件。接下来演示MyBatisX插件的使用

1.首先要下载MyBatisX,直接在IDEA插件市场里面下载即可
在这里插入图片描述
2.使用IDEA连接数据库
在这里插入图片描述
选择MySQL,进行填写
在这里插入图片描述
3.逆向工程
右键想要逆向工程的表名
在这里插入图片描述

在这里插入图片描述
按照下面进行选择即可,点击Finish
在这里插入图片描述
可以看到生成了User类,UserMapper以及对应的xml文件
在这里插入图片描述

相关推荐

  1. springMybatis逆向工程

    2024-06-19 04:40:04       7 阅读
  2. mybatisx 模板

    2024-06-19 04:40:04       43 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-19 04:40:04       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-19 04:40:04       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-19 04:40:04       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-19 04:40:04       20 阅读

热门阅读

  1. thinkphp5模型的高级应用

    2024-06-19 04:40:04       6 阅读
  2. 主元素问题(蒙特卡罗方法)笔记

    2024-06-19 04:40:04       7 阅读
  3. SAP ABAP 锁对象的分类及其作用

    2024-06-19 04:40:04       7 阅读
  4. 超参数调优-通用深度学习篇(上)

    2024-06-19 04:40:04       10 阅读
  5. 扩展动态数据统计

    2024-06-19 04:40:04       7 阅读
  6. vlcplayer for android 源码编译log打印

    2024-06-19 04:40:04       8 阅读
  7. RSS Channel 元素

    2024-06-19 04:40:04       8 阅读
  8. 事务&AOP

    2024-06-19 04:40:04       6 阅读
  9. 算法刷题笔记 二进制中1的个数(C++实现)

    2024-06-19 04:40:04       5 阅读
  10. 代码随想三刷二叉树篇2

    2024-06-19 04:40:04       8 阅读