[Improvement][Dao] Database add connection check (#5408) (#5409)

This commit is contained in:
ruanwenjun 2021-05-06 09:41:44 +08:00 committed by GitHub
parent 0bdf15efb9
commit 71f39fa875
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 6 deletions

View File

@ -26,12 +26,14 @@ import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.transaction.TransactionFactory;
import org.apache.ibatis.transaction.jdbc.JdbcTransactionFactory;
import org.mybatis.spring.SqlSessionTemplate;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.sql.SQLException;
import javax.sql.DataSource;
import org.mybatis.spring.SqlSessionTemplate;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* not spring manager connection, only use for init db, and alert module for non-spring application
@ -81,7 +83,7 @@ public class ConnectionFactory extends SpringConnectionFactory {
*
* @return druid dataSource
*/
private DataSource buildDataSource() {
private DataSource buildDataSource() throws SQLException {
DruidDataSource druidDataSource = dataSource();
return druidDataSource;

View File

@ -28,6 +28,7 @@ import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.type.JdbcType;
import java.sql.SQLException;
import java.util.Properties;
import org.mybatis.spring.SqlSessionTemplate;
@ -77,7 +78,7 @@ public class SpringConnectionFactory {
* @return druid dataSource
*/
@Bean(destroyMethod = "")
public DruidDataSource dataSource() {
public DruidDataSource dataSource() throws SQLException {
DruidDataSource druidDataSource = new DruidDataSource();
@ -104,6 +105,7 @@ public class SpringConnectionFactory {
druidDataSource.setValidationQueryTimeout(PropertyUtils.getInt(Constants.SPRING_DATASOURCE_VALIDATION_QUERY_TIMEOUT, 3));
//auto commit
druidDataSource.setDefaultAutoCommit(PropertyUtils.getBoolean(Constants.SPRING_DATASOURCE_DEFAULT_AUTO_COMMIT, true));
druidDataSource.init();
return druidDataSource;
}
@ -113,7 +115,7 @@ public class SpringConnectionFactory {
* @return DataSourceTransactionManager
*/
@Bean
public DataSourceTransactionManager transactionManager() {
public DataSourceTransactionManager transactionManager() throws SQLException {
return new DataSourceTransactionManager(dataSource());
}