xxxxxxxxxx
import org.springframework.jdbc.core.JdbcTemplate;
public class MyDAO {
private JdbcTemplate jdbcTemplate;
public MyDAO(JdbcTemplate jdbcTemplate) {
this.jdbcTemplate = jdbcTemplate;
}
public void executeSqlQuery() {
String sql = "SELECT * FROM my_table";
List<MyObject> result = jdbcTemplate.query(sql, (rs, rowNum) -> {
MyObject obj = new MyObject();
// map the result set to your object
obj.setId(rs.getInt("id"));
obj.setName(rs.getString("name"));
// ... map other fields
return obj;
});
// process the result
for (MyObject obj : result) {
System.out.println(obj.toString());
}
}
}
xxxxxxxxxx
import org.springframework.boot.autoconfigure.jdbc.DataSourceProperties;
import org.springframework.boot.jdbc.DataSourceBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import javax.sql.DataSource;
@Configuration
public class AppConfig {
// Configure the primary data source
@Primary
@Bean
public DataSource dataSource(DataSourceProperties properties) {
DataSourceBuilder<?> dataSourceBuilder = DataSourceBuilder.create()
.driverClassName(properties.getDriverClassName())
.url(properties.getUrl())
.username(properties.getUsername())
.password(properties.getPassword());
// Enable SQL logging
dataSourceBuilder
.type(org.apache.tomcat.jdbc.pool.DataSource.class)
.build()
.setLogValidationErrors(true)
.setLogAbandoned(true)
.setRemoveAbandoned(true)
.setRemoveAbandonedTimeout(60)
.setJdbcInterceptors("org.apache.tomcat.jdbc.pool.interceptor.LoggingInterceptor");
return dataSourceBuilder.build();
}
}