1、创建JDBC配置类JDBCDataSourceConfiguration
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.datasource.DriverManagerDataSource;
import org.springframework.stereotype.Component;
import tech.honghu.common.utils.StringUtils;
@Component
@ConfigurationProperties(prefix = JDBCDataSourceConfiguration.PREFIX)
public class JDBCDataSourceConfiguration {
protected static final String PREFIX = "jdbc";
private String driverClassName;
private String url;
private String userName;
private String password;
public String getDriverClassName() {
return driverClassName;
}
public void setDriverClassName(String driverClassName) {
this.driverClassName = driverClassName;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
@Bean("DriverManagerDataSource")
public DriverManagerDataSource getDataSource() {
DriverManagerDataSource dataSource = new DriverManagerDataSource();
if(StringUtils.isNotBlank(driverClassName)) {
dataSource.setDriverClassName(driverClassName);
}
dataSource.setUrl(url);
dataSource.setUsername(userName);
dataSource.setPassword(password);
return dataSource;
}
@Bean("serverJdbcTemplate")
public JdbcTemplate getJdbcTemplate(){
return new JdbcTemplate(getDataSource());
}
}
2、yaml设置好数据源
jdbc:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://47.xxx.xxx.xx:3306/xxx?characterEncoding=utf8&autoReconnect=true&useSSL=false
username: xxx
password: xxx
3、jdbc使用
@Resource(name = "serverJdbcTemplate")
private JdbcTemplate jdbcTemplate;