CtrlK
BlogDocsLog inGet started
Tessl Logo

511-frameworks-micronaut-jdbc

Use when you need programmatic JDBC in Micronaut — pooled DataSource, parameterized SQL, io.micronaut.transaction.annotation.Transactional, batching, and domain exception translation. 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/511-frameworks-micronaut-jdbc/SKILL.md
SKILL.md
Quality
Evals
Security

Micronaut JDBC — programmatic SQL

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

What is covered in this Skill?

  • Injected javax.sql.DataSource (Hikari-backed with micronaut-jdbc-hikari) 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 TransactionDefinition.Propagation (e.g. REQUIRES_NEW for independent commits)
  • Self-invocation pitfall: call transactional collaborators through injected beans, not this.method()
  • SQL text blocks for multi-line SQL (upserts, dialect-specific clauses)
  • When to prefer Micronaut Data (@512) 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 Micronaut project
  • Improve transactions and parameter binding for Micronaut JDBC
  • Translate SQLException to domain exceptions or stream large result sets
  • Fix self-invocation bypassing @Transactional in Micronaut

Reference

For detailed guidance, examples, and constraints, see references/511-frameworks-micronaut-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.