首页 > 其他分享 >idea使用MybatisX插件根据表自动生成代码

idea使用MybatisX插件根据表自动生成代码

时间:2024-02-27 21:55:49浏览次数:36  
标签:插件 java idea MybatisX 生成 注解

1.情景展示

在实际开发过程中,根据数据库的表生成对应的增删改查代码,最为常见。

除了使用公司封装的代码自动生成外,有没有通用的呢?

2.具体分析

在idea当中,我们可以使用MybatisX插件生成:

表对应的实体类、dao层所使用的的mapper.java文件、mybatis对应的xml文件、service层所需的接口和实现类。

3.解决方案

安装MybatisX

在idea当中找到plugins选项。

切换到Marketplace,搜索:mybatis

找到MybatisX插件,点击“Install”进行安装。

连接数据库

既然是在idea当中根据表生成代码,自然需要在idea中连接数据库。

具体操作步骤,见文末推荐。

生成代码

打开database窗口,找到要生成代码的表。

我们可以在此窗口按键输入,将自动进行表名检索。

通过点击选中要生成的表名,右键。

你将发现菜单栏多了一个:MybatisX-Generator。

说明:如果没有这个选项的话,你需要重启idea,令刚才安装的MybatisX插件生效。

说明:

base package:可以为空

base path:要生成的文件所在目录,从src开始。

一次生成,只能选中一张表,不能选中多张的。

选择有生成文件所在的包名,右键,copy path。 

选择从src开始的路径选项。

下一步。

custom-model-swagger:生成实体文件,并且在属性上会自动增加swagger的相关注解

default-all和default-empty:生成实体文件、mapper.java和mapper.xml。

mybatis-plus2和mybatis-plus3:生成实体文件、mapper.java、mapper.xml、serviceInterface.java和serviceImpl.java。

只生成实体类

选择:custom-model-swagger

选中项目,右键刷新。

如果还是找不到的话,就点击项目提交按钮,倒着找。

生成的java实体类如下:

我们可以看到:

生成了注释、knife4j注解和数据格式校验注解。

但是,没有生成lombok注解。

而是生成了对应的get、set方法。

我们可以把这些方法删掉,然后用@Getter和@Setter来代替。

另外

关于字段串长度的校验,插件为我们生成了两个注解,我们可以把@Size删掉。

这个本来是要生成@TableField的(表的字段名称),但是没有生成,看看你那里是否能够生成成功。

即使在annotation选中:mybatis plus 3也无法生成@TableField注解。

生成mapper和业务类

生成如下文件

实体类示例

通过mybatis plus模板,可以生成对应的注解,但是就无法生成swagger和数据格式校验的注解。

我们可以将两者结合使用。

Mapper.java示例

Mapper.xml示例

service.java示例

serviceImpl.java示例

 

写在最后

  哪位大佬如若发现文章存在纰漏之处或需要补充更多内容,欢迎留言!!!

 相关推荐:

标签:插件,java,idea,MybatisX,生成,注解
From: https://www.cnblogs.com/Marydon20170307/p/18038488

相关文章

  • offline RL | HIM:基于 hindsight 的 RL 是一类大 idea
    题目:GeneralizedDecisionTransformerforOfflineHindsightInformationMatching,ICLR2022,688spotlight。其中一个8分是从5分rebuttal上来的;貌似对于其他reviewer,rebuttal也提分很多。pdf版本:https://arxiv.org/pdf/2111.10364.pdfhtml版本:https://ar5iv.lab......
  • idea连接数据库
    1.情景展示在idea中,我们直接连接到数据库,如何实现?2.具体操作打开idea,切换到Database窗口。按照下图指引,找到自己实际所需的数据库类型。注意:mysql不要选错了。以mysql进行举例说明等上述配置好后,点击“TestConnection”,以测试数据库是否连接正常。不管是哪种数据库,......
  • 【soap】idea生成WebServices接口
    目录1.创建接口2.生成wsdl文件3.在soapUI中,生成6个文件4.将生成的文件拷贝到工程中5.在service-config中注册服务1.创建接口新建一个webServices工程,按照接口规范生成接口、请求类、响应类。注意:(请求响应的实体中添加基本属性及get/set方法、满参构造、空参构造)//此接口与下方......
  • npm安装插件,安装好时,进度条卡住解决方法
     宋田田已于2023-09-0418:19:28修改阅读量1.6k收藏24点赞数13文章标签:vuenpm版权一、遇到问题在使用npm安装插件或依赖包的时候,安装好时,进度条卡住,等待2分钟后,进度条才消失1.以npm安装vue2为例安装好时,进度条卡住文件其实已经创建好了等待2分钟后,进度条才消失2......
  • idea启动报错
    ImproperlyspecifiedVMoption.Tofixtheproblem,edityourJVMoptionsandremovetheoptionsthatareobsoleteornotsupportedbythecurrentversionoftheJvM.FailedtocreateJVM,JVMPath:D:000lideaJetBrainslintelli]IDEA2020.3.3\jbr    ......
  • 阿里云chrome新页签插件-云端
    在云端,认真快乐工作https://developer.aliyun.com/topic/chrome-extension下载插件点击下载拖拽安装chrome://extensions/edge://extensions/......
  • [ida插件]IDAPyHelper
    https://github.com/patois/IDAPyHelper修改为插件,可放到plugins目录下,Alt+h调用IDAPyHelper是交互式反汇编器的脚本,可帮助编写IDAPython脚本和插件。它通过获取可通过IDAPython访问的所有名称来实现这一点,并将它们放在一个可浏览的列表中,该列表可以任意排序、扫描(Alt-T......
  • ssts-hospital-web-master项目实战记录三十一:项目迁移-Vue项目Hook和插件的区别
    记录时间:2024-02-27一、准备工作【使用“文心一言”搜索】Vue中的生命周期钩子与React中的生命周期方法有何异同?Vue3中的Hook是组合式API的一部分,它们提供了一种新的方式来组织和复用组件逻辑。这些Hook函数,如setup、onMounted、onUpdated等,都是在组件的不同生命周期阶段被调......
  • ssts-hospital-web-master项目实战记录三十二:项目迁移-Vue项目Hook和插件的区别
    记录时间:2024-02-27一、准备工作【使用“文心一言”搜索】Vue3中的Hook(如setup、onMounted、onUpdated等)具体是如何工作的?它们与组件的生命周期有何关联?Vue3引入了CompositionAPI,这是一种新的、可选的方式来组织和重用Vue组件的逻辑。在CompositionAPI中,Hook(如setup、onMo......
  • Eplan插件 - 页描述批量编辑器
    前言在工作中,我们经常会遇到修改页描述属性的情况,比如从其他项目复制了页或者是新建了多页。但是在Eplan中,没有办法直接批量编辑页描述属性。通常我们有以下两种方法来批量修改属性。1.修改高层代号/位置代号中的页描述属性在这里我们可以选择顶层的文档类型代号,点击属性在......