CtrlK
BlogDocsLog inGet started
Tessl Logo

411-frameworks-quarkus-jdbc

Programmatic JDBC in Quarkus with Agroal DataSource, parameterized SQL, transactions, batching, and Dev Services. Part of the skills-for-java project

74

Quality

67%

Does it follow best practices?

Impact

Pending

No eval scenarios have been run

SecuritybySnyk

Passed

No known issues

Optimize this skill with Tessl

npx tessl skill review --optimize ./skills/411-frameworks-quarkus-jdbc/SKILL.md
SKILL.md
Quality
Evals
Security

Quarkus JDBC — programmatic SQL

Apply programmatic JDBC patterns in Quarkus with safe SQL and clear transactions.

What is covered in this Skill?

  • Injected javax.sql.DataSource (Agroal-backed) and try-with-resources for Connection / PreparedStatement
  • PreparedStatement with bind parameters — never string concatenation
  • Mapping ResultSet rows to Java records (dedicated mapRow method)
  • Safe single-row queries with Optional<T>; never assume rs.next() succeeds
  • SQLException translation to domain exceptions (catch-translate-rethrow)
  • Streaming large result sets with setFetchSize to avoid OOM
  • Batch updates with addBatch / executeBatch for bulk inserts
  • @Transactional service boundaries and propagation types (TxType.REQUIRES_NEW for independent commits)
  • CDI self-invocation pitfall: always call transactional methods through the injected proxy
  • Dev Services for databases in dev/test
  • When to prefer Panache (@412) vs raw JDBC

Scope: Apply recommendations based on the reference rules and good/bad code examples.

Constraints

Compile before JDBC refactors; verify after changes.

  • MANDATORY: Run ./mvnw compile or mvn compile before applying any change
  • PREREQUISITE: Project must compile before applying JDBC improvements
  • SAFETY: If compilation fails, stop immediately
  • BLOCKING CONDITION: Compilation errors must be resolved by the user before proceeding
  • VERIFY: Run ./mvnw clean verify or mvn clean verify after applying improvements
  • BEFORE APPLYING: Read the reference for detailed rules and examples

When to use this skill

  • Review JDBC or SQL data access in a Quarkus project
  • Improve transactions and parameter binding for Quarkus JDBC
  • Translate SQLException to domain exceptions or stream large result sets
  • Fix CDI self-invocation bypassing @Transactional in Quarkus

Reference

For detailed guidance, examples, and constraints, see references/411-frameworks-quarkus-jdbc.md.

Repository
jabrena/cursor-rules-java
Last updated
Created

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.