小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。
1. 前言
代码不止诗和远方,还有眼前的 CRUD
毕业前,我以为 Coding 的我是这样的:“今天的任务是性能优化,明天的任务是 JVM 调优,昨天领导又夸我代码写得好了,我可真是个小天才”
然而事实是,上面这些是事后的补救手段,在编程阶段,就应该养成良好的习惯,规避上面的问题,以及写不完的 CRUD
通常,基于一家公司的基础框架来写 CRUD 的话相似性都会很高,这就有一种“我写增删查改要写吐了”的错觉,对于 Mybatis 来说,还有Mybatis Generator 来生成一下代码,对于使用 JPA 或者其他的小伙伴,虽然 Dao 不用写了,但 Service、ServiceImpl、Controller 你还是要写的啊
为了解决上述的问题,我东翻西找,找到了一款国人开发的开源 IDEA 插件 EasyCode,其底层逻辑其实很简单,就是根据模板来生成代码,这意味着你可以根据自定义模板来适应任意的姿势
作为一个想每天早点下班的程序员,把 CRUD 的时间省出来,它不香吗,本就根据 EasyCode 自带的 Mybatis 模板来生成一次代码,带大家进一步了解这个插件的便利性
2. EasyCode 的使用
小节2的代码已上传到 GitHub 的个人 Demo 项目,本小节代码路径
/wzed-demo/002-tools-demo/easycode-demo
由于使用的是 EasyCode 自带的模板,所以依赖也是按照模板里面的代码来
本文涉及的依赖以及版本
-
MySQL 5.7
-
IDEA 2021.2
-
SpringBoot 2.5.4
-
其他依赖见 Pom.xml
2.1 项目准备
首先建一个空的项目
然后引入需要的依赖,由于我建项目的时候继承了 spring-boot-starter-parent 2.5.4 ,所以只有 Mybatis 的依赖需要显式的指定版本
<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>2.1.4</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-commons</artifactId>
</dependency>
2.2 表结构准备
万能的学生表1.0,最喜欢用学生表了
CREATE TABLE `student` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '自增主键',
`name` varchar(50) NOT NULL COMMENT '姓名',
`age` int(11) NOT NULL COMMENT '年龄',
PRIMARY KEY (`id`)
)
2.3 插件的使用
首先为 IDEA 安装插件,就是这玩意
然后为IDEA 添加数据源
重点来了,右键表,打开生成窗口
此时只需要选择正确的包名,正确的磁盘路径,再勾选需要生成的文件,打上统一配置、禁止提示,再按 OK 即可
添加 Mybatis 配置类 MybatisConfig,用于扫描 Dao
@Configuration
@MapperScan("cn.wzed.dao")
public class MybatisConfig {
}
配置文件 application.yml 中添加扫描 Mapper.xml 的路径,以及数据源
server:
port: 9002
mybatis:
mapper-locations: classpath:mapper/**/**.xml
# 开启后控制台会打印 SQL 日志
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/demo
username: root
password: 123456
添加启动类,启动项目并测试生成的接口是否正常
完美成功,上次看到这么完美的例子还是在上次
3. 瞄一下模板
EasyCode 的所有配置都集成在其他设置里,这里可以设置作者名称、模板内容,与数据库的值映射关系等等等等,可视化操作,妈妈再也不用担心我乱生成代码了
4. 写在后面
代码生成的工具有很多选择,但 EasyCode 与 IDEA 的集成,可视化的操作,模板与变量的配合,能适应各种复杂的生成场景,而默认的内置模板在我们验证一些用例的时候也能大大提高效率
所谓时间就是金钱,你看了我这篇文章,我帮你节省了时间,换个角度来看我这是在救你的命啊!点赞收藏关注不过分把?