0、为什么使用代码生成器?
①、节约创建目录和文件的时间
②、节约重复工作时间(增删改查、分页)
1、背景
前段时间写了SSM的代码生成器,调用了Mybatis逆向工程API生成Pojo和Mapper,然后生成Controller、Service模板和一大堆资源文件,代码非常繁杂。SSM的确不太适合自动生成,为什么呢?
①、繁重的配置,拥有大量的资源文件。
②、引入了大量的第三方API,不利于维护升级。
③、Service模板依赖于逆向工程的规则。
2、想法
基于以上几点,发现SpringBoot+SpringDataJpa能完美解决以上几点问题。原因如下:
①、springboot几乎零配置。
②、springboot引入的第三方API较少。
③、SpringDataJpa是“正向工程”,用代码生成数据库。
3、使用
BB了一大堆没用的,等不及的直接看这里。
①首先从github下载
git clone https://github/1316151417/CodeGenerator.git
②运行jar包
java -cp CodeGenerator/target/CodeGenerator-0.0.1-SNAPSHOT.jar com.swust.zj.sss.main.SSSGenerator
然后输入>>>基目录、项目名、自定义包名、实体类名,如图:
然后就可以看到项目已经生成好了,如图:
③运行项目
此步需注意:
1、需要查看application.yml中的配置信息是否正确(mysql密码默认123456,等其他信息)
2、需自己添加实体类的字段(除id)
自动生成是只包含id的,如图:
package com.swust.zj.model;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import com.fasterxml.jackson.annotation.JsonGetter;
@Entity
public class User {
private Integer id;
@Id
@GeneratedValue
@JsonGetter
private Integer getId(){
return id;
}
private void setId(Integer id){
this.id = id;
}
}
然后我们自己添加一个字段
package com.swust.zj.model;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import com.fasterxml.jackson.annotation.JsonGetter;
@Entity
public class User {
private Integer id;
private String name;
@Id
@GeneratedValue
@JsonGetter
private Integer getId(){
return id;
}
private void setId(Integer id){
this.id = id;
}
private String getName(){
return name;
}
private void setName(String name){
this.name = name;
}
}
此时,注意事项完毕了,直接运行:
mvn spring-boot:run
完成了!
4、测试
在数据库添加一些记录
然后测试,如图:
成功!
5、Addition
如有疑问可以在评论区联系博主。
拒绝转载、拒绝商业用途!
更多推荐
代码生成器CodeGenerator(目前只支持SpringBoot/SpringDataJpa)
发布评论