The JdbcTemplate
and NamedParameterJdbcTemplate
classes from Spring are auto-configurable,
and you can bind them via the @Autowire
annotation directly to their own beans, as shown in the
following example:
Java
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Component;
@Component
public class MyBean {
private final JdbcTemplate jdbcTemplate;
public MyBean(JdbcTemplate jdbcTemplate) {
this.jdbcTemplate = jdbcTemplate;
}
public void doSomething() {
this.jdbcTemplate ...
}
}
Kotlin
import org.springframework.jdbc.core.JdbcTemplate
import org.springframework.stereotype.Component
@Component
class MyBean(private val jdbcTemplate: JdbcTemplate) {
fun doSomething() {
jdbcTemplate.execute("delete from customer")
}
}
You can configure some template properties using the spring.jdbc.template.*
properties, as shown in the
following example:
Properties
spring.jdbc.template.max-rows=500
Yaml
spring:
jdbc:
template:
max-rows: 500
NamedParameterJdbcTemplate
reuses the same
JdbcTemplate
instance behind the scenes. If more than one JdbcTemplate
is defined and
there is no primary candidate, the NamedParameterJdbcTemplate
will not be automatically configured.