在基于Mybatis的项目中,咱们能够经过Mybatis的插件从数据库表结构进行业务代码的生成。今天给你们介绍一款Idea的插件,不只能够达到Mybatis反向生成的效果,并且还能够更加灵活的使用。
前端
插件安装
一般Idea插件的安装有两种形式。java
方式一:直接在Idea中找到Plugins配置,而后搜索“Easy Code”,点击“install”进行安装,重启Idea便完成安装。以下图: web
方式二:访问Idea插件的官网:https://plugins.jetbrains.com/,而后搜索“Easy Code”,会展现以下结果:面试
点击“Install to Idea”进行下载安装。此时会检查本机的Idea,并进行插件安装,若是已经安装会显示以下内容:spring
这种方式适合在Plugins中没有搜到Easy Code的场景。sql
数据库配置
在数据库中建立一张表,这里以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中添加配置数据源: 微信
这里选择使用Mysql数据库并进行配置。mybatis
若是以前未配置过相应的数据库,还须要下载一下对应的驱动程序。app
链接成功,效果以下:
反向生成代码
右击要生成代码的表,选择easycode,Generate Code。
在弹出页面选择包路径以及要生成类:
我这里已经实现建立好了一个Spring Boot的项目。一路点击“yes”以后,生成了如下包及类:
固然,还有resources目录下的mybatis的xml文件。在这些生成的类中提供了一些默认的增删改查的方法。
为了程序不报错,还须要添加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的形式进行生成都是能够进行修改的。
经过该插件的一系列操做,写代码是否是变成一件很是容易的事了?最起码能在基础的类生成等工做上节省90%的工做量。赶忙用起来吧。
喜欢本文的朋友们,欢迎长按下图关注订阅号成猿之路,收看更多精彩内容!
推荐阅读:
本文分享自微信公众号 - 成猿之路(softwareload)。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。