@Configuration
public class MyConfig {@Bean(name = "secondaryDataSource")
@Qualifier("secondaryDataSource")
@ConfigurationProperties(prefix = "spring.datasource.xx")
public DataSource primaryDataSource() {
return DataSourceBuilder.create().build();
}@Bean(name = "secondaryJdbcTemplate")
public JdbcTemplate secondaryJdbcTemplate(
@Qualifier("secondaryDataSource") DataSource dataSource) {
return new JdbcTemplate(dataSource);
}}
对应的service中注入这个 secondaryJdbcTemplate
@Autowired
@Qualifier("secondaryJdbcTemplate")
private JdbcTemplate secondaryJdbcTemplate;
利用secondaryJdbcTemplate的query方法,进行赋值,这里的processRow方法只处理一条数据。所以不需要写resultSet中的while循环next()的语句了。
valueList: sql 里面的具体参数值。
sql: sql是存带?的语句,为了预编译。
secondaryJdbcTemplate.query(sql, valueList.toArray(), new RowCallbackHandler() {
@Override
public void processRow(ResultSet resultSet) throws SQLException {
//对结果进行构造和输出
}
});