Java 以编程方式设置数据源的用户名和密码
我需要一个数据源来传递到SpringJava 以编程方式设置数据源的用户名和密码,java,spring,datasource,Java,Spring,Datasource,我需要一个数据源来传递到SpringNamedParameterJdbcTemplate,以便对其运行参数化查询 public void setDataSource(DataSource dataSource) { this.dataSource = dataSource; this.jdbcTemplateObject = new NamedParameterJdbcTemplate(dataSource); } Set<Integer> parameters =
NamedParameterJdbcTemplate
,以便对其运行参数化查询
public void setDataSource(DataSource dataSource)
{
this.dataSource = dataSource;
this.jdbcTemplateObject = new NamedParameterJdbcTemplate(dataSource);
}
Set<Integer> parameters = getSomeIds();
List<TableRow> rows = this.jdbcTemplateObject.query(config.getSql(), parameters, new TableRowMapper());
public void setDataSource(数据源数据源)
{
this.dataSource=数据源;
this.jdbcTemplateObject=新名称参数jdbctemplate(数据源);
}
设置参数=getSomeIds();
List rows=this.jdbcTemplateObject.query(config.getSql(),parameters,new TableRowMapper());
现在,如果我在SpringXML中为数据源设置用户名和密码,就可以了
但是,我需要动态地分配这些。如何配置用户名和密码?从数据源获取与的连接时完成。但是,由于JdbcTemplate是为您从数据源获取连接的模板,因此您需要将数据源封装在一个容器中,并将适配器传递给JdbcTemplate
UserCredentialsDataSourceAdapter dsAdapter = new UserCredentialsDataSourceAdapter();
dsAdapter.setTargetDataSource(dataSource);
dsAdapter.setUsername(username);
dsAdapter.setPassword(password);
this.jdbcTemplate = new NamedParameterJdbcTemplate(dsAdapter);
你的意思是你想
@注入
或@自动连线
它?(或者您需要用户名、密码等的@值
)。我应该提到,如果有多个数据源
,您还需要一个@限定符
。这可能是一个指南。不要使用SpringXML——使用SpringJavaConfig。这样,您的所有配置都是编程的,您就不会有这些问题。