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

0. 你想要的

0.1 包下载

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

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插件市场下载安装

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_test
    where id = #{id,jdbcType=BIGINT}
  </select>
  <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
    <!--@mbg.generated-->
    delete from user_test
    where 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_test
    set username = #{username,jdbcType=VARCHAR},
      address = #{address,jdbcType=VARCHAR}
    where id = #{id,jdbcType=BIGINT}
  </update>
</mapper>
  • 也可以生成service层和controller层,这里不再演示,都是中文界面

在这里插入图片描述


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

相关推荐

  1. Python基础(持续更新)

    2024-03-28 06:08:02       28 阅读

最近更新

  1. TCP协议是安全的吗?

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

    2024-03-28 06:08:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-28 06:08:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-28 06:08:02       20 阅读

热门阅读

  1. React或Vue与后端通讯的跨域问题处理

    2024-03-28 06:08:02       17 阅读
  2. 【React】React 内置 Hook

    2024-03-28 06:08:02       19 阅读
  3. SpringBoot + Redis + Lua = 王炸!

    2024-03-28 06:08:02       20 阅读
  4. Encoding类

    2024-03-28 06:08:02       19 阅读
  5. axios

    axios

    2024-03-28 06:08:02      20 阅读
  6. SpringMVC基础Controller

    2024-03-28 06:08:02       17 阅读
  7. 软件测试基础(2)

    2024-03-28 06:08:02       16 阅读
  8. 【剑指offer】75. 和为S的两个数字

    2024-03-28 06:08:02       21 阅读
  9. 课时77:流程控制_until循环_until基础

    2024-03-28 06:08:02       20 阅读
  10. flutter boost 如何从native跳转到flutter页面

    2024-03-28 06:08:02       20 阅读
  11. Selenium 学习(0.22)——软件测试之小结

    2024-03-28 06:08:02       16 阅读
  12. 深入浅出(四)VTK库—3D可视化

    2024-03-28 06:08:02       18 阅读
  13. 边缘随机变量

    2024-03-28 06:08:02       19 阅读
  14. TCP面向字节流协议分析

    2024-03-28 06:08:02       21 阅读
  15. maya外部调用

    2024-03-28 06:08:02       21 阅读