- Easycode是idea的一个插件,可以直接对数据的表生成entity,controller,service,dao,mapper,无需任何编码,简单而强大。
1、安装(EasyCode)
image.png
我这里的话是已经那装好了。
- 建议大家在安装一个插件,叫做Lombok。
Lombok能通过注解的方式,在编译时自动为属性生成构造器、getter/setter、equals、hashcode、toString方法。出现的神奇就是在源码中没有getter和setter方法,但是在编译生成的字节码文件中有getter和setter方法。
2、建立数据库
-- ----------------------------
-- Table structure for user
-- ----------------------------
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
`id` int(11) NOT NULL,
`username` varchar(20) DEFAULT NULL,
`sex` varchar(6) DEFAULT NULL,
`birthday` date DEFAULT NULL,
`address` varchar(20) DEFAULT NULL,
`password` varchar(20) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
SET FOREIGN_KEY_CHECKS = 1;
3、在IDEA配置连接数据库
- 在这个之前,新建一个Springboot项目,这个应该是比较简单的。
-
建好SpringBoot项目之后,如下图所示,找到这个Database
image.png
-
按照如下图所示进行操作:
image.png
-
然后填写数据库名字,用户名,密码。点击OK即可。这样的话,IDEA连接数据库就完事了。
连接数据库.png
4、开始生成代码
-
在这个里面找到你想生成的表,然后右键,就会出现如下所示的截面。
生成代码.png
-
点击1所示的位置,选择你要将生成的代码放入哪个文件夹中,选择完以后点击OK即可。
操作2.png
-
勾选你需要生成的代码,点击OK。
操作3.png
-
这样的话就完成了代码的生成了,生成的代码如下图所示:
代码生成.png
5、pom.xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<!--热部署-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional> <!-- 这个需要为 true 热部署才有效 -->
</dependency>
<!--mybatis-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.2</version>
</dependency>
<!-- mysql -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.47</version>
</dependency>
<!--阿里巴巴连接池-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.0.9</version>
</dependency>
至此,如何生成代码基本就讲完了额,实际上这篇文章也是我参考别人的试验的,我也是站在巨人的肩膀上。下面我要说的是我的模板,你们公司也肯定有自己的模板。我这个项目没有引入tk.mapper相关的,其实引入也是一样的,改模板、路径照样可以生成。
模板位置:
TypeMapper:
这里是配置一些字段映射关系的,比如我这里对tinyint没有设置映射,导致生成时报字段类型未知错误,所以我在这里配置增加一个tinyint的映射。如果是其他数据库,也可能有其他特殊字段类型,统统在这里配置。
GlobalConfig:
这是全局设置,这里面呢又又几个模板设置,初始的是又init(初始化),define(定义),autoImport(自动引包),mybatisSupport(mybatis支持)。每一个模板下面都有说明文档,讲的很清除。语法就是Velocity,不知道了可以自行get。
我这里在init里有改动,主要是表名开头,我们有太多t_、c_、b_等开头的表,索性直接改了表名判断规则:
TemplateSetting:
最关键的就是这个了,entity(实体类)、dao(dao层)、service(service层)、serviceImpl(service实现)、mapper(xml文件)、controller(controller层)。这里的模板,可以引入前面在GlobalConfig里设置的模板。其实每个模板也很好理解,基本都是设置保存文件后缀、保存路径。其他的可能就是每个类的继承、实现、每个方法等。反正有基础的都能看懂,只要前面把生成环境配置好了就ok了。
DataBase设置的时候可能会遇到时间区域的问题,实际上可以把项目里连接数据库的url都复制设置就ok了