optimize DbAutoConfiguration

This commit is contained in:
开源海哥 2023-04-02 15:14:28 +08:00
parent 5c4430e8d2
commit a258d66dd4
2 changed files with 12 additions and 2 deletions

View File

@ -39,7 +39,8 @@ public class Db {
public static RowMapperInvoker invoker() { public static RowMapperInvoker invoker() {
if (defaultRowMapperInvoker == null) { if (defaultRowMapperInvoker == null) {
SqlSessionFactory sqlSessionFactory = FlexGlobalConfig.getDefaultConfig().getSqlSessionFactory(); FlexGlobalConfig defaultConfig = FlexGlobalConfig.getDefaultConfig();
SqlSessionFactory sqlSessionFactory = defaultConfig.getSqlSessionFactory();
defaultRowMapperInvoker = new RowMapperInvoker(sqlSessionFactory); defaultRowMapperInvoker = new RowMapperInvoker(sqlSessionFactory);
} }
return defaultRowMapperInvoker; return defaultRowMapperInvoker;

View File

@ -15,18 +15,27 @@
*/ */
package com.mybatisflex.spring.boot; package com.mybatisflex.spring.boot;
import com.mybatisflex.core.FlexGlobalConfig;
import com.mybatisflex.core.row.Db; import com.mybatisflex.core.row.Db;
import com.mybatisflex.spring.SpringRowSessionManager; import com.mybatisflex.spring.SpringRowSessionManager;
import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import java.util.logging.Level;
import java.util.logging.Logger;
@ConditionalOnClass(Db.class) @ConditionalOnClass(Db.class)
@Configuration(proxyBeanMethods = false) @Configuration(proxyBeanMethods = false)
@AutoConfigureAfter({MybatisFlexAutoConfiguration.class}) @AutoConfigureAfter({MybatisFlexAutoConfiguration.class})
public class DbAutoConfiguration { public class DbAutoConfiguration {
public DbAutoConfiguration() { public DbAutoConfiguration() {
Db.invoker().setRowSessionManager(new SpringRowSessionManager()); FlexGlobalConfig defaultConfig = FlexGlobalConfig.getDefaultConfig();
if (defaultConfig == null){
Logger.getLogger(Db.class.getName()).log(Level.WARNING,"Cannot get FlexGlobalConfig instance, Perhaps the dataSource config error.");
}else {
Db.invoker().setRowSessionManager(new SpringRowSessionManager());
}
} }
} }