spring-boot-jdbc

Installation
SKILL.md

Spring Boot JDBC

When to reach for this instead of JPA

Not a default choice — JPA/spring-boot-scaffold's layering is still the baseline for typical CRUD; see spring-boot-jpa for MySQL/PostgreSQL-specific JPA configuration once past the basics. Reach for direct JDBC when: the query is genuinely simple and an entity/repository layer adds no value, a bulk/batch operation needs precise control JPA doesn't give cleanly, or a stored procedure/complex reporting query doesn't map naturally to an entity graph. Don't drop to raw JDBC to "get better performance" without evidence — JPA's overhead is rarely the actual bottleneck (see spring-boot-review's N+1 guidance first). If the data isn't relational at all, neither this skill nor spring-boot-jpa is the right starting point — see spring-boot-mongodb.

JdbcClient — the modern default for new code (Spring Boot 4.x)

As of Spring Framework 6.1 (carried into Boot 4.x), JdbcClient is a unified fluent façade over JdbcTemplate and NamedParameterJdbcTemplate — one API instead of choosing between two, autoconfigured and ready to inject:

@Repository
public class OrderJdbcRepository {
    private final JdbcClient jdbcClient;

    public OrderJdbcRepository(JdbcClient jdbcClient) {
        this.jdbcClient = jdbcClient;
    }
Installs
1
First Seen
Sep 9, 2026
spring-boot-jdbc — prabhatkrmishra/spring-boot-production-skills