import com.alibaba.druid.pool.DruidDataSource; //导入方法依赖的package包/类
public DruidDataSource createDataSource() throws SQLException {
DruidDataSource dataSource = new DruidDataSource();
dataSource.setUrl(url);
dataSource.setUsername(username);
dataSource.setPassword(password);
dataSource.setDriverClassName(driverClassName);
dataSource.setConnectProperties(connectProperties);
dataSource.setInitialSize(initialSize);
dataSource.setMinIdle(minIdle);
dataSource.setMaxActive(maxActive);
dataSource.setMaxWait(maxWait);
dataSource.setFilters(filters);
dataSource.setDefaultAutoCommit(defaultAutoCommit);
dataSource.setTimeBetweenConnectErrorMillis(timeBetweenConnectErrorMillis);
dataSource.setValidationQuery(validationQuery);
dataSource.setValidationQueryTimeout(validationQueryTimeout);
dataSource.setTestWhileIdle(testWhileIdle);
dataSource.setTestOnBorrow(testOnBorrow);
dataSource.setTestOnReturn(testOnReturn);
dataSource.setPoolPreparedStatements(poolPreparedStatements);
dataSource.setClearFiltersEnable(clearFiltersEnable);
dataSource.setDefaultReadOnly(defaultReadOnly);
dataSource.setAsyncCloseConnectionEnable(asyncCloseConnectionEnable);
dataSource.setConnectionErrorRetryAttempts(connectionErrorRetryAttempts);
dataSource.setBreakAfterAcquireFailure(breakAfterAcquireFailure);
dataSource.setDupCloseLogEnable(dupCloseLogEnable);
dataSource.setEnable(enable);
dataSource.setLogAbandoned(logAbandoned);
dataSource.setLogDifferentThread(logDifferentThread);
dataSource.setLoginTimeout(loginTimeout);
dataSource.setAccessToUnderlyingConnectionAllowed(accessToUnderlyingConnectionAllowed);
dataSource.setMaxPoolPreparedStatementPerConnectionSize(maxPoolPreparedStatementPerConnectionSize);
dataSource.setQueryTimeout(queryTimeout);
dataSource.setFailFast(failFast);
dataSource.setMaxCreateTaskCount(maxCreateTaskCount);
dataSource.setRemoveAbandoned(removeAbandoned);
dataSource.setRemoveAbandonedTimeoutMillis(removeAbandonedTimeoutMillis);
dataSource.setDefaultTransactionIsolation(defaultTransactionIsolation);
dataSource.setTimeBetweenEvictionRunsMillis(timeBetweenEvictionRunsMillis);
dataSource.setMinEvictableIdleTimeMillis(minEvictableIdleTimeMillis);
dataSource.setMaxEvictableIdleTimeMillis(maxEvictableIdleTimeMillis);
dataSource.setMaxOpenPreparedStatements(maxOpenPreparedStatements);
dataSource.setNotFullTimeoutRetryCount(notFullTimeoutRetryCount);
dataSource.setTimeBetweenLogStatsMillis(timeBetweenLogStatsMillis);
return dataSource;
}