在基于Mybatis的项目中,我们可以通过Mybatis的插件从数据库表结构进行业务代码的生成。今天给大家介绍一款Idea的插件,不仅可以达到Mybatis反向生成的效果,而且还可以更加灵活的使用。
插件安装
通常Idea插件的安装有两种形式。
方式一:直接在Idea中找到Plugins配置,然后搜索“Easy Code”,点击“install”进行安装,重启Idea便完成安装。如下图: 方式二:访问Idea插件的官网:https://plugins.jetbrains.com/,然后搜索“Easy Code”,会展示如下结果:
这种方式适合在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中添加配置数据源: 当然,还有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%的工作量。赶紧用起来吧。