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

插件安装

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

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

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

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

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

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

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

这种方式适合在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;

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

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

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

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

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

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

连接成功,效果如下: 

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

反向生成代码

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

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

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

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

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

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

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

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

为了程序不报错,还需要添加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的形式进行生成都是可以进行修改的。

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

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