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)