03 MyBatisCodeHelperPro

03 MyBatisCodeHelperPro


简介

插件介绍文档

个人使用经验来看,无愧是目前最好用的Mybatis代码生成插件。简单列下日常高频使用的功能特性:

  1. 通过java类生成建表语句
  2. 通过数据库生成crud代码
  3. Java接口与xml互相跳转
  4. 通过方法名生成sql
  5. 一键生成mybatis接口的testcase

安装&配置

安装

设置-插件,搜索mybatiscodehelperpro,emm…有2个。

  1. 如果你的IDEA是使用eval reset插件不断试用的(适用2021.2.2及以下版本),请下载Marketplace Edition版本
  2. 如果你的IDEA是2020.1及以下版本,请参考https://zhile.io/2019/04/23/mybatis-code-helper-pro-crack.html…
    在这里插入图片描述

配置

全局配置

设置Mapper接口的后缀名,通常设置为Dao或者Mapper; 设置试用java8的日期及Integer替代Byte类型;设置Model类后缀如PO。

在这里插入图片描述

项目配置

基本上开箱即用,我通常会配置一些批量的代码生成方法。

  1. selectByIdIn、updateByIdIn、deleteByIdIn
  2. 另外selectByAll不建议使用

在这里插入图片描述

使用

简介中的5个功能特性,其实就是我的一般使用姿势。尤其是1、2、5,主要用作新增表时的代码生成。一般使用流程如下:

  1. 编写PO对象,根据PO对象生成表结构 -> 可选,大家可能也习惯直接先写建表语句
  2. 建表,再通过插件代码生成接口、mapper、po -> 核心功能,代码生成
  3. 对mapper生成单元测试类 -> 可选,简单易用的单测功能
  4. 根据方法名生成mapper -> 比较好玩,大家可能比较喜欢用这个,我个人的习惯使用selectByExample,避免每次新增SQL都要改动到dao层

通过java类生成建表语句

java类生成建表语句 - Document

右击PO对象,生成->generate mybatis files。默认会根据PO字段生成,并填充注释等,这里在检查下表名、类型、默认值,索引等。然后可以预览SQL查看是否🆗。

在这里插入图片描述

generateCreateTable

通过数据库生成crud代码

添加数据源

首先在IDEA右侧的侧边栏【数据库】,添加一个数据源,这里我以一个本地h2数据源示例。

在这里插入图片描述

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0dPcyWWQ-1663174311076)(C:\Users\theskyzero\AppData\Roaming\Typora\typora-user-images\image-20220915000316284.png)]

代码生成

先建表,右击数据表,选择mybatis-generator,来到我们的代码生成可视界面~

先对每个表使用mybatis-generator,我们通常都会定制列等,之后是可以使用批量方式覆盖的。

在这里插入图片描述

代码生成配置:源码路径、定制列等

在这里插入图片描述

这些选项基本上是我们当前使用的最佳实践

  1. useGeneratedKey:返回自增主键
  2. 勾选:其他的都不用标,没啥意义或者有冲突或者不通用
    1. @Data;Builder基本上用不到
    2. 不生成jdbcType:自动检测,尽量使用标准的数据类型,产生标准的SQL。也能避免修改了db数据类型但mapper映射错误的场景
    3. @Mapper注解:建议勾选,这个是个人的习惯,因为我们扫描mybatis会按@Mapper注解来扫描注解代理类,不会直接只按包路径,避免非mapper接口被产生代理类
    4. 生成注释:生成po对象的注释
    5. 生成selectByExample:很香,dao层一次生成不用改动!
  3. 定制列:一般定制boolean字段的类型和名称、还有时间类型我们的习惯是使用Instant
更多SQL生成:batchInsert、batchUpdate、insertOnDuplicate

在这里插入图片描述

  1. batchInsert:批量插入
  2. batchUpdateSelective:适合简单的集合size比较小的按id批量更新
  3. insertOnDuplicate:单条数据insertOnDuplicate,适合逻辑删除场景的插入操作。(如果有批量的insertOnDuplicate,又是个优雅的适合批量更新的方法)
定制默认方法:insertSelective、updateByPrimaryKey、updateByPrimaryKeySelective…

在这里插入图片描述

这个没得说的,updateByPrimaryKey和updateByPrimaryKeySelective就是全量更新和增量更新的区别,大部分场景我们是增量更新,但如果比如需要将字段变更成null,又需要全量更新。(对于string,使用空字符串替代null没问题,但如时间的类型就不能)

通过接口名生成xml

方法名生成sql - Document
findMethodNameToSql

生成mybatis接口测试类

一键生成测试mybatis接口的测试类

generateTestcase

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
MyBatisCodeHelper-Pro插件免费版 Features Type safe sql support, plugin can recognize mybatis dynamic sql Code Formatter Generate mybatis crud code by Intellij database table or add a database connection Generate mybatis sql based on mybatis interface method name like spring data jpa, with this, you don't have to write most sql for non join query support generate statement with if test Database generate crud could generate multiple times when you add or delete columns, plugin will auto merge code Full mybatis sql auto complete, recognize mybatis tag in xml, like where trim set include ect,provide sql completion after those tag Jump from mybatis dao interface to mapper xml each other Refactor for mybatis interface method name,refid,resultMap ect Auto complete for mybatis param,if test,foreach,resultMap,refid in sql Generate create table sql from java class Mybatis Param refactor and inspection Ognl support, if test when test ${ bind foreach collection, refactor and inspection and auto completion Jump from refid resultMap to their definition, refactor their name as well Generate page query by mapper interface method Spring support for mybatis, inject mybatis mapper to spring bean,support SpringBoot Refid,resultMap,keyProperty,property auto complete Add @param for mapper method Resultmap column complete and inspection by parse reference select statement Auto map resultMap column and property Generate mybatis mapper testcase from mybatis interface method by database connection, make you test method quicker Full inspection for mybatis, like unused sql in xml, mapper method not have sql in xml, check if resultMap property is right ect https://github.com/gejun123456/MyBatisCodeHelper-Pro to learn more. How to use view on https://github.com/gejun123456/MyBatisCodeHelper-Pro qqGroup:914051156
### 回答1: MybatisCodeHelperPro3是一款能够大幅度提升Mybatis开发效率的插件,特别是对于Mybatis的XML文件编写、SQL语句的调试、Mapper接口方法生成等方面有着巨大的帮助。该插件可以与IntelliJ IDEA、Eclipse等Java开发工具无缝集成,使得我们在开发过程中可以更加快速、方便地编写Mybatis相关代码,并且提高代码的可读性和可维护性。 MybatisCodeHelperPro3的主要功能包括:自动补全映射文件的Mapper、属性、表名等信息;支持Mybatis SQL标签补全、参数提示、错误提示、语法高亮等功能;支持一键生成Dao接口方法,生成的方法包含完整的参数、返回值、SQL语句等信息,省去了手写这些繁琐代码的时间和精力;支持SQL语句的调试功能,我们可以快速定位SQL语句执行出错的原因,并且进行优化。 总体来说,MybatisCodeHelperPro3是一款非常实用、强大的Mybatis插件,它可以帮助我们更加高效地进行Mybatis开发,提高我们的开发效率和代码质量。 ### 回答2: MybatisCodeHelperPro3是一款Java开发工具插件,可在常见的Java开发IDE(如Eclipse和IntelliJ IDEA)中使用。它提供了Mybatis映射器(Mapper)和XML文件的编写辅助功能,使得开发人员在为数据库进行编程时更为高效,同时减少了手动编写重复模板的工作量。 该插件提供了多种属性编辑器、自动代码生成器和代码导入导出器等功能,以减少开发人员的重复劳动。它还支持多种数据库厂商和版本的Mybatis框架,并提供了辅助性的脚本和模板。 使用MybatisCodeHelperPro3,开发人员可以快速编写符合Mybatis框架规范的映射器和XML文件,而无需自己编写模板或者使用其他辅助工具。它极大地加快了开发过程,提高了开发人员的工作效率。 ### 回答3: MyBatisCodeHelperPro3是一款功能强大的MyBatis开发工具,可以帮助开发人员提高开发效率和代码质量。该工具具有如下特点: 1. 自动生成MyBatis代码:MyBatisCodeHelperPro3可以根据数据库表结构和xml配置文件自动生成MyBatis的实体类、Mapper接口和xml映射文件,大大降低了手工编写代码的工作量。 2. 快速定位错误:MyBatisCodeHelperPro3针对MyBatis的相关错误如参数不匹配、语法错误等提供了快速定位的功能,大大节省了调试时间。 3. 快速跳转代码:MyBatisCodeHelperPro3支持快速跳转到对应的Mapper接口、xml映射文件或实体类的定义处。 4. 智能提示:MyBatisCodeHelperPro3能够自动为开发人员提供语法提示和自动补全功能,大大提高了开发效率。 5. 丰富的代码模板:MyBatisCodeHelperPro3提供了丰富的代码模板,可以快速生成常用的代码结构,减少了开发人员的繁琐操作。 总之,MyBatisCodeHelperPro3是一款功能强大、易于使用的MyBatis开发工具,可以帮助开发人员提高开发效率和代码质量。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

theskyzero

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值