用到的框架:springboot+mybatis+lombok+mysql5.7
使用mybatis开发的一大痛点就是搭建一些重复性的代码很多,相比起来的话用JPA就很容易了!所以我们需要简化mybatis的各种操作,其实就是自己生成一些代码;生成模板代码的方式有很多,如果是公司内部的话肯定也有自己的一套代码生成工具,但是我们平常写自己的项目的话,还是用自己喜欢的模板来写比较好!
第一种:最原始的mybatis逆向工程的方式,这个应该很熟悉,就是可以自动生成表对应的po,mapper和xml
第二种:就是用easycode插件直接生成表对应的controller,service,mapper和xml的常用的crud,减少代码量,用于我们平常自己写项目的时候比较实用;这也是下面会仔细说的
第三种:有开源的项目可以直接一键生成vue和后端spingboot的所有代码,推荐人人开源的一个代码生成器,点击这里,有兴趣的可以用一下,贼好用,而且还有可视化页面!
对于我们自己使用的话就没有必要那么华丽呼哨的了,这里就用第二种吧!,首先用spring Initializer随便创建一个springboot项目,务必使用阿里云的这个地址,spring的创建项目的东东贼鸡儿慢!!!
· https://start.aliyun.com/
使用idea连接mysql数据库,这个很容易,不在本篇教程之内,参考这个老哥的教程,连接成功之后是这个样子的(记得idea下载easycode插件然后重启):
然后我们随便新建一张t_user表:
create table t_user ( id int auto_increment primary key, username char(255) null, password varchar(255) null )charset = utf8;
然后根据:file->settings->Other Settings->Template Setting,新建分组,之后就是把我图中那些.java文件给创建出来(根据自己的需要进行修改生成规则,我也是参考别人的代码改了好多)
entity.java
##引入宏定义 $!define $!init ##使用宏定义设置回调(保存位置与文件后缀) #save("/entity", ".java") ##使用宏定义设置包后缀 #setPackageSuffix("entity") ##使用全局变量实现默认包导入 $!autoImport import java.io.Serializable; import lombok.Data; ##使用宏定义实现类注释信息 #tableComment("实体类") @Data public class $!{tableInfo.name} implements Serializable { private static final long serialVersionUID = $!tool.serial(); #foreach($column in $tableInfo.fullColumn) #if(${column.comment})/** * ${column.comment} */#end private $!{tool.getClsNameByFullName($column.type)} $!{column.name}; #end }