mybatis-plus自定义数据源
·
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.core.MybatisConfiguration;
import com.baomidou.mybatisplus.core.config.GlobalConfig;
import com.baomidou.mybatisplus.extension.incrementer.OracleKeyGenerator;
import com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean;
import org.apache.ibatis.logging.stdout.StdOutImpl;
import org.apache.ibatis.session.SqlSessionFactory;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
import javax.sql.DataSource;
@Configuration
@MapperScan(
basePackages = {"com.xxx.mapper"},
sqlSessionTemplateRef = "mySqlSessionTemplate"
)
public class DataSourceConfig {
public static final String MAPPER_LOCATION_PATTERN = "classpath:mapper/*.xml";
@Bean
public DataSourceTransactionManager myTransactionManager(@Autowired DataSource myDataSource){
return new DataSourceTransactionManager(myDataSource);
}
@Bean
public SqlSessionFactory mySqlSessionFactory(@Autowired DataSource myDataSource) throws Exception{
MybatisSqlSessionFactoryBean bean = new MybatisSqlSessionFactoryBean();
bean.setDataSource(myDataSource);
bean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources(MAPPER_LOCATION_PATTERN));
// 全局配置
bean.setGlobalConfig(globalConfig());
// 配置打印sql语句
MybatisConfiguration configuration = new MybatisConfiguration();
configuration.setLogImpl(StdOutImpl.class);
return bean.getObject();
}
@Bean
public GlobalConfig globalConfig(){
GlobalConfig config = new GlobalConfig();
GlobalConfig.DbConfig dbConfig = new GlobalConfig.DbConfig();
dbConfig.setKeyGenerator(new OracleKeyGenerator());
dbConfig.setIdType(IdType.values()[1]);
config.setDbConfig(dbConfig);
// 全局自动填充配置
//config.setMetaObjectHandler(new CustomMetaObjectHandler());
return config;
}
}
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)