代码生成器CodeGenerator(目前只支持SpringBoot/SpringDataJpa)

本文介绍从SSM框架迁移到Spring Boot并利用Spring Data JPA进行代码生成的过程。对比SSM的繁琐配置,Spring Boot提供更简洁的解决方案。文章详细说明了如何使用特定的代码生成器来快速搭建项目骨架。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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.com/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

如有疑问可以在评论区联系博主。

拒绝转载、拒绝商业用途!

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值