Tomcat配置JNDI(%TOMCAT_HOME%/conf/context.xml)
factory="com.alibaba.druid.pool.DruidDataSourceFactory" filters="stat"
useGlobalDataSourceStat="true" defaultTransactionIsolation="READ_COMMITTED" validationQuery="select 1 from DUAL"
type="javax.sql.DataSource" username="test" password="test" driverClassName="com.mysql.cj.jdbc.Driver"
url="jdbc:mysql://127.0.0.1:3306/db_test?useUnicode=true&characterEncoding=utf8&serverTimezone=PRC&useSSL=false&rewriteBatchedStatements=TRUE&autoReconnect=true&allowMultiQueries=true"/>
factory="com.alibaba.druid.pool.DruidDataSourceFactory" filters="stat"
useGlobalDataSourceStat="true" defaultTransactionIsolation="READ_COMMITTED" validationQuery="select 1 from DUAL"
type="javax.sql.DataSource" username="test" password="test" driverClassName="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@//127.0.0.1:1521/GHSTEST"/>
Tomcat配置Druid监控(%TOMCAT_HOME%/conf/web.xml)
DruidStatView
com.alibaba.druid.support.http.StatViewServlet
resetEnable
true
loginUsername
admin
loginPassword
admin
DruidStatView
/druid/*
yml配置
db:
datasource:
jndiName:
masterDB: java:comp/env/jdbc/master
clusterDB: java:comp/env/jdbc/cluster
master配置
@Configuration
@MapperScan(basePackages = "cn.com.test.dao.master", sqlSessionFactoryRef = "masterSqlSessionFactory")
public class MasterBaseDataSourceConfig {
@Value("${db.datasource.jndiName.masterDB}")
private String jndiName;
@Primary
@Bean(name = "masterDataSource")
public DataSource masterDataSource() {
JndiDataSourceLookup lookup = new JndiDataSourceLookup();
lookup.setResourceRef(true);
return lookup.getDataSource(jndiName);
}
@Primary
@Bean(name = "masterTransactionManager")
public DataSourceTransactionManager masterTransactionManager() {
return new DataSourceTransactionManager(masterDataSource());
}
@Primary
@Bean(name = "masterSqlSessionFactory")
public SqlSessionFactory masterSqlSessionFactory(@Qualifier("masterDataSource") DataSource masterDataSource)
throws Exception {
final SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
sessionFactory.setDataSource(masterDataSource);
sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver()
.getResources("classpath:mapper/master/*.xml"));
return sessionFactory.getObject();
}
}
cluster配置
@Configuration
@MapperScan(basePackages = "cn.com.test.dao.cluster", sqlSessionFactoryRef = "clusterSqlSessionFactory")
public class ClusterBaseDataSourceConfig {
@Value("${db.datasource.jndiName.clusterDB}")
private String jndiName;
@Bean(name = "clusterDataSource")
public DataSource clusterDataSource() {
JndiDataSourceLookup lookup = new JndiDataSourceLookup();
lookup.setResourceRef(true);
return lookup.getDataSource(jndiName);
}
@Bean(name = "clusterTransactionManager")
public DataSourceTransactionManager clusterTransactionManager() {
return new DataSourceTransactionManager(clusterDataSource());
}
@Bean(name = "clusterSqlSessionFactory")
public SqlSessionFactory clusterSqlSessionFactory(@Qualifier("clusterDataSource") DataSource clusterDataSource)
throws Exception {
final SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
sessionFactory.setDataSource(clusterDataSource);
sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver()
.getResources("classpath:mapper/cluster/*.xml"));
return sessionFactory.getObject();
}
}
ojdbc6.jar
mysql-connector-java-6.0.6.jar
druid-1.1.10.jar
记得把mysql驱动,Oracle驱动,Druid jar拷贝到%TOMCAT_HOME%/lib下