IDEA MyBatisCodeHelper Pro最新版(持续更新)

目录

  • 0. 你想要的
    • 0.1 包下载
    • 0.2 使用jh
  • 1. 功能介绍
  • 2. 下载安装
    • 2.1 在idea中插件市场安装
    • 2.2 在jetbrains插件市场下载安装
  • 3. 简单使用
    • 3.1 创建一个SpringBoot项目
    • 3.2 配置数据库
    • 3.3 一键生成实体类、mapper

0. 你想要的

0.1 包下载

  1. 测试系统:Windows(Windows、macOS、Linux都可用)
  2. 测试IDE:IntelliJ IDEA 2023.3.6
  3. 测试版本:MyBatisCodeHelper Pro 3.3.0+2321

  • 3.3.0+2321懒人替换包:https://www.alipan.com/s/MnJZY4zBqhX

    (提取码在B站搜七维大脑关注后在动态中获取,或抖音搜七维大脑关注后在第一条视频中获取)

    跪求关注!!给点支持!!谢谢!!

    (需要配合此文章0.2步骤jh使用)

  • 3.2.9懒人替换包:https://www.alipan.com/s/eWuXDTsR8Eh

    (提取码在B站搜七维大脑关注后在动态中获取,或抖音搜七维大脑关注后在第一条视频中获取)

    跪求关注!!给点支持!!谢谢!!

    (需要配合此文章0.2步骤jh使用)

  • 3.2.8懒人替换包:https://www.alipan.com/s/Z1hUX46HGBL

    (提取码在B站搜七维大脑关注后在动态中获取,或抖音搜七维大脑关注后在第一条视频中获取)

    跪求关注!!给点支持!!谢谢!!

    (需要配合此文章0.2步骤jh使用)

  • 3.2.7懒人替换包:https://www.aliyundrive.com/s/MXgBrtyW4S1

    (需要配合此文章0.2步骤jh使用)

  • 3.2.5懒人替换包:https://www.aliyundrive.com/s/uJYnGF1ffi1

    (需要配合此文章0.2步骤jh使用)

  • 3.2.4懒人替换包:https://www.aliyundrive.com/s/3xCstYyevQf

    (需要配合此文章0.2步骤jh使用)

0.2 使用jh

  1. 将修改后的jar包放回MyBatisCodeHelper-Pro/lib目录下
    在这里插入图片描述

  2. 重启IDEA

  3. IDEA中打开设置——其他设置——MyBatisCodeHelperPro——翻到最后,点jh
    在这里插入图片描述4. 选择离线jh——输入下方代码——点击jh,即可。

  • paidKey:jh码,随便填
  • valid:是否有效,填true
  • userMac:jh窗口的唯一码(不要无脑复制我的)
  • validTo:有效期,时间戳,填一个很大的值即可
{"paidKey": "feimao","valid": true,"userMac": "5E-E9-1E-DA-F7-65","validTo": 4859711999000
}

在这里插入图片描述

在这里插入图片描述


1. 功能介绍

  • 通过方法名(不需要方法的返回值和参数 会自动推导出来)来生成sql 可以生成大部分单表操作的sql 只需要一个方法的名字即可 会自动补全好方法的参数和返回值 和springdatajpa的语句基本一致
  • xml sql几乎所有地方都有自动提示,sql正确性检测,插件会识别mybatis的一系列标签 如 include trim set where,在这些标签之后的sql可以自动提示数据库的字段,检测sql的正确性,从此不用担心sql写错
  • 直接从Intellij自带的数据库或者配置一个数据库生成crud代码 自动检测好 useGeneratedkey 自动配置好模块的文件夹 只用添加包名就可以生成代码了
  • xml代码格式化
  • 从java类生成建表语句
  • 数据库添加字段后可以继续生成,不会修改之前已经在接口或xml添加的自- - 定义的方法 无需再去进行手动的添加
  • mybatis接口和xml的互相跳转 支持一个mybatis接口对应多个xml
  • mybatis接口中的方法名重构支持
  • xml中的 param的自动提示 if test的自动提示 resultMap refid 等的自动提示
  • resultMap中的property的自动提示,检测,重构
  • resultMap中column自动提示,检测
  • xml中refid,resultMap等的跳转到定义
  • 检测没有使用的xml 可一键删除
  • 检测mybatis接口中方法是否有实现,没有则报红 可创建一个空的xml
  • mybatis接口中一键添加param注解
  • mybatis接口一键生成xml
  • 完整的typeAlias支持
  • param检测 检测#{ 中的内容是否有误
  • ognl 支持 if test when test foreach bind中的自动补全,跳转和检测
  • 支持spring 将mapper注入到spring中 intellij的spring注入不再报错 支持springboot
  • 一键生成mybatis接口的testcase 无需启动spring,复杂sql可进行快速测试
  • 一键生成表关联的join
  • 一键从sql语句中 导出resultMap

免费试用: http://brucege.com/pay/view

2. 下载安装

2.1 在idea中插件市场安装

  • 在idea设置中找到插件市场,搜索MyBatisCodeHelper Pro 即可找到。
    在这里插入图片描述

2.2 在jetbrains插件市场下载安装

  • 打开:https://plugins.jetbrains.com/plugin/9837-mybatiscodehelperpro
  • 可以直接点击 Install to IntelliJ IDEA xxxx.x.x
  • 也可以下载对应的版本,在IDEA中安装
    在这里插入图片描述

3. 简单使用

3.1 创建一个SpringBoot项目

  • 在idea中新建项目,选择Spring Initializr,输入项目名称、组等信息,点击下一步。
    在这里插入图片描述
  • 选择MySQL Driver、Spring Web、Mybatis Framework、Lombok等依赖,点击创建
    在这里插入图片描述
  • 这样一个Spring Boot项目就建好了
    在这里插入图片描述
    -依赖参考
<dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.2.2</version></dependency><dependency><groupId>com.mysql</groupId><artifactId>mysql-connector-j</artifactId><scope>runtime</scope></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies>

3.2 配置数据库

  • 先选择需要连接的数据库类型,这里以MySQL为例
    在这里插入图片描述
  • 填写主机地址、端口、用户、密码等必要信息,点击确定
    在这里插入图片描述
  • 这样就算是成功了
    在这里插入图片描述

3.3 一键生成实体类、mapper

  • 在表上右键,点击 Mybatis generator
    在这里插入图片描述
  • 根据需求填写配置即可
    在这里插入图片描述
  • 生成后的项目结构文件
    在这里插入图片描述
  • 生成的实体类参考
package com.domain;public class UserTest {/*** 主键*/private Long id;/*** 用户名*/private String username;/*** 地址*/private String address;public Long getId() {return id;}public void setId(Long id) {this.id = id;}public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getAddress() {return address;}public void setAddress(String address) {this.address = address;}
}
  • 生成的mapper接口类参考
package com.mapper;import com.domain.UserTest;public interface UserTestMapper {int deleteByPrimaryKey(Long id);int insert(UserTest record);int insertSelective(UserTest record);UserTest selectByPrimaryKey(Long id);int updateByPrimaryKeySelective(UserTest record);int updateByPrimaryKey(UserTest record);
}
  • 生成的mapper.xml文件参考
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mapper.UserTestMapper"><resultMap id="BaseResultMap" type="com.domain.UserTest"><!--@mbg.generated--><!--@Table user_test--><id column="id" jdbcType="BIGINT" property="id" /><result column="username" jdbcType="VARCHAR" property="username" /><result column="address" jdbcType="VARCHAR" property="address" /></resultMap><sql id="Base_Column_List"><!--@mbg.generated-->id, username, address</sql><select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap"><!--@mbg.generated-->select <include refid="Base_Column_List" />from user_testwhere id = #{id,jdbcType=BIGINT}</select><delete id="deleteByPrimaryKey" parameterType="java.lang.Long"><!--@mbg.generated-->delete from user_testwhere id = #{id,jdbcType=BIGINT}</delete><insert id="insert" keyColumn="id" keyProperty="id" parameterType="com.domain.UserTest" useGeneratedKeys="true"><!--@mbg.generated-->insert into user_test (username, address)values (#{username,jdbcType=VARCHAR}, #{address,jdbcType=VARCHAR})</insert><insert id="insertSelective" keyColumn="id" keyProperty="id" parameterType="com.domain.UserTest" useGeneratedKeys="true"><!--@mbg.generated-->insert into user_test<trim prefix="(" suffix=")" suffixOverrides=","><if test="username != null">username,</if><if test="address != null">address,</if></trim><trim prefix="values (" suffix=")" suffixOverrides=","><if test="username != null">#{username,jdbcType=VARCHAR},</if><if test="address != null">#{address,jdbcType=VARCHAR},</if></trim></insert><update id="updateByPrimaryKeySelective" parameterType="com.domain.UserTest"><!--@mbg.generated-->update user_test<set><if test="username != null">username = #{username,jdbcType=VARCHAR},</if><if test="address != null">address = #{address,jdbcType=VARCHAR},</if></set>where id = #{id,jdbcType=BIGINT}</update><update id="updateByPrimaryKey" parameterType="com.domain.UserTest"><!--@mbg.generated-->update user_testset username = #{username,jdbcType=VARCHAR},address = #{address,jdbcType=VARCHAR}where id = #{id,jdbcType=BIGINT}</update>
</mapper>
  • 也可以生成service层和controller层,这里不再演示,都是中文界面

在这里插入图片描述


官方文档参考:https://gejun123456.github.io/MyBatisCodeHelper-Pro

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

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

相关文章

ERP与MES系统深度对接详细解决方案

此方案适合绝大部分生产型企业&#xff0c;企业如果有用到ERP&#xff0c;MES&#xff0c;WMS等其他系统的。可以借鉴以下的对接方案。 在ERP与MES系统对接的具体内容中&#xff0c;物料管理、出入库信息、物料清单&#xff08;BOM&#xff09;、生产计划、生产领料、生产用料的…

【吊打面试官系列】Redis篇 -Redis 回收进程如何工作的?

大家好&#xff0c;我是锋哥。今天分享关于 【Redis 回收进程如何工作的&#xff1f;】面试题&#xff0c;希望对大家有帮助&#xff1b; ​Redis 回收进程如何工作的&#xff1f; 一个客户端运行了新的命令&#xff0c;添加了新的数据。Redi 检查内存使用情况&#xff0c;如 果…

浅析AI大模型当前存在的技术瓶颈和限制及解决方案

方向五&#xff1a;未来发展趋势与挑战 提示&#xff1a;展望AI大模型学习的未来发展趋势&#xff0c;并讨论当前面临的主要挑战。可以关注新技术、新方法的出现&#xff0c;以及它们对AI大模型学习的影响&#xff1b;同时&#xff0c;也可以分析当前存在的技术瓶颈和限制&…

P2802 回家

P2802 回家 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 虽然是普及-难度的题&#xff0c;但是感觉细节有很多。 细节&#xff1a; bfs第一次到 ( i , j ) (i, j) (i,j)&#xff0c;但是距离不一定是最小的 鼠标是一次性物品 血量到达 ( x x , y y ) (xx, yy) (xx,yy)为…

【文献分享】 机器学习 + 分子动力学 + 第一性原理计算 + 热力学性质(熔化温度 热导率 热膨胀系数)

分享一篇关于机器学习 分子动力学 第一性原理 熔化温度&#xff08;熔化温度 & 热导率 & 热膨胀系数&#xff09;的文章。 感谢论文的原作者&#xff01; 关键词&#xff1a; 1. Al−Li alloy 2. Neural network potential 3. Molecular dynamics 4. Thermal pr…

wireshark 使用

wireshark介绍 wireshak可以抓取经过主机网卡的所有数据包&#xff08;包括虚拟机使用的虚拟网卡的数据包&#xff09;。 环境安装 安装wireshark: https://blog.csdn.net/Eoning/article/details/132141665 安装网络助手工具&#xff1a;https://soft.3dmgame.com/down/213…

源支付V7开源版2.99,修复各种提示错误

源支付V7开源版2.99&#xff0c;修复各种提示错误 加密说明&#xff1a;200拿来的&#xff0c;只有8.1这个文件加密&#xff0c;其他文件无任何加密&#xff0c;已修复各种提示错误 测试其他开源版安装提示错误&#xff0c;有几个文件是加密的 注&#xff1a;开发不易&#…

AJAX(二):axios 和 fetch函数发送AJAX请求、同源策略、 jsonp、CORS

一、各种发送AJAX请求 jquery基于回调函数&#xff0c;axios基于promise 1.axios发送AJAX请求!!! axios (v1.5.0) - Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 Node.js 中。 | BootCDN - Bootstrap 中文网开源项目免费 CDN 加速服务 服务器&#xff1a; app.…

Redis类型 Stream Bitfield

Stream 类型 Stream类型就是Redis里的mq,是redis为了占领市场份额的产物 今天我们就来介绍一下Stream Redis的消息队列一般是两个方案 第一个是Lpush Rpop 队列的异步队列方案(一对一) 第二个方案就是pubsub(发布订阅)模式 (一对多) 注:这里如果没有消费者了,队列中的数据就直…

代码随想录第25天 | 组合总和||| 、 电话号码的字母组合

一、前言 参考文献&#xff1a;代码随想录 今天的还是回溯算法&#xff0c;主要用到了昨天的回溯组合方法和巧妙思路方法&#xff0c;让我们继续为算法打基础吧&#xff01; 二、组合总和||| 1、思路&#xff1a; 这一题和昨日的组合没啥太大区别只是遍历的范围变为了固定…

未来智慧停车:技术架构解析与创新应用

随着城市化进程的不断加速&#xff0c;停车难题已成为城市居民生活中的一大痛点。传统的停车方式已经无法满足日益增长的停车需求&#xff0c;而智慧停车系统则成为了解决这一难题的重要途径。本文将深入探讨智慧停车系统的技术架构&#xff0c;并探索其在城市管理和用户体验上…

echarts双柱状堆叠图

效果 代码 option {tooltip: {trigger: axis,axisPointer: { // 坐标轴指示器&#xff0c;坐标轴触发有效type: shadow // 默认为直线&#xff0c;可选为&#xff1a;line | shadow},formatter: function (params) { var res<div><p>时间&am…

数据库聚簇索引和非聚簇索引的区别

聚簇索引&#xff08;Clustered Index&#xff09;和非聚簇索引&#xff08;Non-clustered Index&#xff09;是数据库中两种不同的索引类型&#xff0c;它们的主要区别在于数据的存储方式和索引的结构&#xff1a; 数据存储方式&#xff1a; 聚簇索引&#xff1a;索引的叶子节…

ssm框架笔记-maven

html是骨头 css使皮肤 js是你能做的动作 MAVEN 依赖管理&#xff1a;1.声明dependenciys标签 2.maven search3。 版本号提取 3.$引用 3.2依赖传递和冲突 依赖传递指的是当一个模块或库 A 依赖于另一个模块或库 B&#xff0c;而 B 又依赖于模块或库 C&#xff0c;那么 A 会间…

vue3+vite模版框架 tabs右键刷新时丢失路由参数

问题&#xff1a; 标题栏的tabs的右键&#xff1a;刷新时&#xff0c;没有保存上一个页面传递过来的参数 分析&#xff1a; TagView.vue刷新事件 function refreshSelectedTag(view: TagView) {console.log(|--执行刷新, view)tagsViewStore.delCachedView(view);const {full…

吴恩达2022机器学习专项课程(一) 4.1 梯度下降

问题预览 梯度下降算法的作用是&#xff1f;梯度下降的过程&#xff1f;梯度下降和最小化成本函数的联系&#xff1f;所有的成本函数都是一个形状吗&#xff1f;在非凸形状中&#xff0c;梯度下降的更新过程是&#xff1f;在非凸形状中&#xff0c;不同的初值对最小化成本函数…

对于提高Web安全,WAF能有什么作用

数字化时代&#xff0c;网络安全已经成为了一个不可忽视的重要议题。网络攻击事件频发&#xff0c;各种安全隐患层出不穷&#xff0c;如何有效地保护我们的网络空间&#xff0c;确保信息安全&#xff0c;已成为一项迫切的任务。而Web应用防火墙&#xff0c;正是守护网络安全的一…

【LIMS】CMA与CNAS:中国认证体系中的两大支柱

目录 一、CMA&#xff1a;[中国计量认证](http://cma-cma.org.cn/)什么是CMA&#xff1f;CMA的作用 二、CNAS&#xff1a;[中国合格评定国家认可委员会](https://www.cnas.org.cn/)什么是CNAS&#xff1f;CNAS的作用 三、CMA与CNAS的关系相互促进共同目标 结语系列文章版本记录…

国内顶级大牛整理:分布式消息中间件实践笔记+分布式核心原理解析

XMPP JMS RabbitMQ 简介 工程实例 Java 访问RabbitMQ实例 Spring 整合RabbitMQ 基于RabbitMQ的异步处理 基于RabbitMQ的消息推送 RabbitMQ实践建议 虚拟主机 消息保存 消息确认模式 消费者应答 流控机制 通道 总结 ActiveMQ 简介 工程实例 Java 访问ActiveMQ实例…

【21-40】计算机网络基础知识(非常详细)从零基础入门到精通,看完这一篇就够了

【21-40】计算机网络基础知识&#xff08;非常详细&#xff09;从零基础入门到精通&#xff0c;看完这一篇就够了 以下是本文参考的资料 欢迎大家查收原版 本版本仅作个人笔记使用21、HTTPS是如何保证数据传输的安全&#xff0c;整体的流程是什么&#xff1f;&#xff08;SSL是…