Free — No account required

Spring Boot CRUD Generator

Automatically generate complete Spring Boot CRUD operations for every entity in your project — controller, service, repository, DTO, mapper. All wired together, all runnable from day one.

Generate CRUD for free No sign-up · No credit card · Instant download
5 filesper entity
5 endpointsGET POST PUT DELETE + list
0 boilerplateto write manually

Generated per entity

One entity defined → five files generated, fully wired

ControllerProductController.java

REST endpoints for GET /products, GET /products/{id}, POST /products, PUT /products/{id}, DELETE /products/{id}. Annotated with @RestController, @RequestMapping, @Valid on request bodies.

ServiceProductService.java + ProductServiceImpl.java

Interface + implementation pattern. Business logic layer cleanly separated from persistence. All CRUD methods defined — override or extend to add your logic.

RepositoryProductRepository.java

Extends JpaRepository<Product, Long>. findById, findAll, save, deleteById — all inherited, zero implementation required.

EntityProduct.java

@Entity, @Table, @Id, @GeneratedValue, @Column annotations for every property you defined. Lombok @Data keeps it concise.

DTO + MapperProductDto.java + ProductMapper.java

DTO separates your API contract from your persistence model. MapStruct @Mapper handles bidirectional mapping at compile time — no reflection, no runtime cost.

Generated endpoints

Every HTTP verb, out of the box

GET/{resources}Returns all records. Supports pagination.
GET/{resources}/{id}Returns a single record by ID. Returns 404 if not found.
POST/{resources}Creates a new record. Request body validated with Bean Validation.
PUT/{resources}/{id}Fully updates an existing record.
DELETE/{resources}/{id}Deletes the record. Returns 204 No Content.

Resource name is pluralized and lowercased automatically. Product/products.

How to generate

Define your entities, we write the CRUD.

  1. Name your project

    Group ID, artifact ID, Java version. Same flow as Spring Initializr.

  2. Add resources & properties

    Type your entity name, add fields and their types. Each resource gets its own CRUD layer.

  3. Link resources (optional)

    Add @OneToMany, @ManyToMany, @ManyToOne, or N-ary associations between your entities if needed.

  4. Generate & run

    Click Generate, download the ZIP, run mvn spring-boot:run. Your CRUD API is on localhost:8080.

Beyond basic CRUD

CRUD that understands relationships

Most CRUD generators stop at a single table. SpringBoot Generator lets you define JPA relationships between entities and correctly generates the mapping on both sides.

@OneToMany / @ManyToOne

Parent entity holds the collection. Child entity holds the foreign key. @JoinColumn and @MappedBy generated correctly on both sides.

@ManyToMany

Join table created automatically. Owner side and inverse side annotated correctly. No more staring at Hibernate docs.

@OneToOne

Shared primary key or foreign key strategy. Both options available when you configure the relation.

N-ary associations

Link three or more entities through a synthesized association entity — each participant mapped as a @ManyToOne. Goes beyond the classic two-entity Many-To-Many.

FAQ

Common questions

How many resources can I add?
As many as your project needs. Each resource gets its own CRUD layer. There's no hard limit in the free tier.
Does it generate pagination for GET list endpoints?
Yes. GET /products supports Spring Data's Pageable parameter — page size, page number, and sort are available out of the box.
Is the generated CRUD testable?
The generated project structure is test-friendly — service interfaces and repository abstraction make unit testing straightforward with Mockito. The Pro plan adds generated unit and integration tests.
What happens if I add a field with a null constraint?
Fields marked as required get @NotNull or @NotBlank on the DTO and nullable = false on the @Column in the entity. Validation is enforced at both the API and database layer.

Stop writing CRUD by hand.

Define your entities once, get all the code you need.

Generate CRUD — free