在基于Mybatis的项目中,我们可以通过Mybatis的插件从数据库表结构进行业务代码的生成。今天给大家介绍一款Idea的插件,不仅可以达到Mybatis反向生成的效果,而且还可以更加灵活的使用。

插件安装

通常Idea插件的安装有两种形式。

image

方式一:直接在Idea中找到Plugins配置,然后搜索“Easy Code”,点击“install”进行安装,重启Idea便完成安装。如下图:

方式二:访问Idea插件的官网:https://plugins.jetbrains.com/,然后搜索“Easy Code”,会展示如下结果:

image

点击“Install to Idea”进行下载安装。此时会检查本机的Idea,并进行插件安装,如果已经安装会显示如下内容:

image

这种方式适合在Plugins中没有搜到Easy Code的场景。

数据库配置

在数据库中创建一张表,这里以tb_order为例:

CREATE TABLE `tb_order` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `amount` int(11) NOT NULL DEFAULT '1',
  `order_no` varchar(64) NOT NULL DEFAULT '',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;
image

然后在Idea中添加配置数据源:

这里选择使用Mysql数据库并进行配置。

image

如果之前未配置过相应的数据库,还需要下载一下对应的驱动程序。

image
image

连接成功,效果如下:

反向生成代码

右击要生成代码的表,选择easycode,Generate Code。

image

在弹出页面选择包路径以及要生成类:

image

我这里已经实现创建好了一个Spring Boot的项目。一路点击“yes”之后,生成了以下包及类:

image

当然,还有resources目录下的mybatis的xml文件。在这些生成的类中提供了一些默认的增删改查的方法。

image

为了程序不报错,还需要添加mybatis的依赖,以下为整个项目的整体依赖内容:

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <!--mybatis-->
    <dependency>
        <groupId>org.mybatis.spring.boot</groupId>
        <artifactId>mybatis-spring-boot-starter</artifactId>
        <version>1.3.2</version>
    </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>
        <exclusions>
            <exclusion>
                <groupId>org.junit.vintage</groupId>
                <artifactId>junit-vintage-engine</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
</dependencies>

通过上述一些列的操作,我们便可以轻松通过插件生成代码,再也不用每次都一层层的手动创建各层的类了。

截止现在,上面的项目并不能正常运行,因为并没有配置扫描Mapper接口的地方。此时可在TbOrderDao类上添加@Mapper注解,也可以在启动类里面加上@MapperScan(“com.secbro2.easycode.biz.dao”)注解进行扫描。

最后,在application.properties或application.yml中配置对应的数据库连接即可。

插件扩展

如果嫌弃手写麻烦,或者想生成其他的类型的类或文件,则可以在配置中对其扩展或修改。比如将自动生成的dao.java模板类上自动添加上@Mapper,或将entity.java改用Lombok的形式进行生成都是可以进行修改的。

image

通过该插件的一系列操作,写代码是不是变成一件非常容易的事了?最起码能在基础的类生成等工作上节省90%的工作量。赶紧用起来吧。



Idea自动生成代码神器EasyCode,让你如虎添翼插图12

关注公众号:程序新视界,一个让你软实力、硬技术同步提升的平台

除非注明,否则均为程序新视界原创文章,转载必须以链接形式标明本文链接

本文链接:https://choupangxia.com/2020/05/06/idea-easycode/