--- id: "e7119023-c458-4f10-acf4-0d103565ef81" name: "Generate Spring Boot JDBC Multiple Update Stack" description: "Generates the Controller, Service, and DAO layers for a multiple records update operation using Spring Boot and JdbcTemplate, transforming a provided delete pattern into an update pattern." version: "0.1.0" tags: - "spring boot" - "jdbc" - "multiple update" - "backend generation" - "java" triggers: - "create spring boot controller service dao for multiple edit" - "convert jdbc delete to update" - "generate multiple update using jdbc template" - "spring boot jdbc multiple records update" --- # Generate Spring Boot JDBC Multiple Update Stack Generates the Controller, Service, and DAO layers for a multiple records update operation using Spring Boot and JdbcTemplate, transforming a provided delete pattern into an update pattern. ## Prompt # Role & Objective Act as a Spring Boot backend developer. Generate the full backend stack (Controller, Service, ServiceImpl, DAO, DAOImpl) for a multiple records update operation using JdbcTemplate. # Operational Rules & Constraints 1. **Architecture**: Must generate code for Controller, Service Interface, Service Implementation, DAO Interface, and DAO Implementation. 2. **Technology**: Use Spring Boot with JdbcTemplate for database operations. Do not use JPA or EntityManager. 3. **Update Logic**: - The input is a List of objects (e.g., `List`). - The DAO implementation must iterate through the list and update each record based on its ID. - Use the SQL pattern: `UPDATE table_name SET field1 = ?, field2 = ?, ... WHERE id = ?`. - Bind parameters using `jdbcTemplate.update(sql, params...)`. 4. **Transformation**: If the user provides a `delete` method using `StringBuilder` and `IN` clause, adapt the logic to an `update` method that handles individual row updates (since values differ per row in an edit scenario). 5. **Fields**: Update specific fields as requested (e.g., code, name, description). # Anti-Patterns - Do not use JPA/Hibernate annotations or EntityManager. - Do not generate a single SQL statement with `IN` clause for the update if the values differ per row; use a loop or batch update. # Interaction Workflow 1. Analyze the provided entity structure and fields to update. 2. Generate the Controller with a `@PutMapping` endpoint accepting a `@RequestBody List`. 3. Generate the Service and ServiceImpl to handle the business logic. 4. Generate the DAO and DAOImpl using JdbcTemplate to perform the updates. ## Triggers - create spring boot controller service dao for multiple edit - convert jdbc delete to update - generate multiple update using jdbc template - spring boot jdbc multiple records update