Project

General

Profile

1
package eu.dnetlib.enabling.database.utils;
2

    
3
import javax.sql.DataSource;
4

    
5
import org.springframework.beans.factory.annotation.Required;
6
import org.springframework.jdbc.core.JdbcTemplate;
7

    
8
import eu.dnetlib.enabling.database.DataSourceFactory;
9

    
10
public class JdbcTemplateFactory {
11

    
12
	private int fetchSize = 100;
13
	private DataSourceFactory dataSourceFactory;
14
	
15
	public JdbcTemplate createJdbcTemplate(String db) {
16
		final JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSourceFactory.createDataSource(db));
17
		jdbcTemplate.setFetchSize(getFetchSize());
18
		return jdbcTemplate;
19
	}
20
	
21
	public JdbcTemplate createJdbcTemplate(DataSource dataSource) {
22
		final JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
23
		jdbcTemplate.setFetchSize(getFetchSize());
24
		return jdbcTemplate;
25
	}
26

    
27
	@Required
28
	public void setDataSourceFactory(DataSourceFactory dataSourceFactory) {
29
		this.dataSourceFactory = dataSourceFactory;
30
	}
31

    
32
	public int getFetchSize() {
33
		return fetchSize;
34
	}
35

    
36
	public void setFetchSize(final int fetchSize) {
37
		this.fetchSize = fetchSize;
38
	}
39
}
(3-3/3)