• 分库操作(无事务)


    Product库:

    @Configuration
    @MapperScan(basePackages = ProductConfig.PACKAGE, sqlSessionFactoryRef = "productSqlSessionFactory")
    public class ProductConfig {
        // 精确到 cluster 目录,以便跟其他数据源隔离
        static final String PACKAGE = "com.yangshan.exportData.mapper.product";
        static final String MAPPER_LOCATION = "classpath:mapper/product/*.xml";
    
        @Value("${product.datasource.url}")
        private String url;
    
        @Value("${product.datasource.username}")
        private String user;
    
        @Value("${product.datasource.password}")
        private String password;
    
        @Value("${product.datasource.driverClassName}")
        private String driverClass;
    
        @Bean(name = "productDataSource")
        public DataSource productDataSource() {
            DruidDataSource dataSource = new DruidDataSource();
            dataSource.setDriverClassName(driverClass);
            dataSource.setUrl(url);
            dataSource.setUsername(user);
            dataSource.setPassword(password);
            return dataSource;
        }
    
        @Bean(name = "productTransactionManager")
        public DataSourceTransactionManager productTransactionManager() {
            return new DataSourceTransactionManager(productDataSource());
        }
    
        @Bean(name = "productSqlSessionFactory")
        public SqlSessionFactory productSqlSessionFactory(@Qualifier("productDataSource") DataSource productDataSource) throws Exception {
            final SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
            sessionFactory.setDataSource(productDataSource);
            sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver().getResources(ProductConfig.MAPPER_LOCATION));
            return sessionFactory.getObject();
        }
    }

    Order库:

    @Configuration
    @MapperScan(basePackages = OrderConfig.PACKAGE, sqlSessionFactoryRef = "orderSqlSessionFactory")
    public class OrderConfig {
        // 精确到 cluster 目录,以便跟其他数据源隔离
        static final String PACKAGE = "com.yangshan.exportData.mapper.order";
        static final String MAPPER_LOCATION = "classpath:mapper/order/*.xml";
    
        @Value("${order.datasource.url}")
        private String url;
        @Value("${order.datasource.username}")
        private String user;
        @Value("${order.datasource.password}")
        private String password;
        @Value("${order.datasource.driverClassName}")
        private String driverClass;
    
        @Bean(name = "orderDataSource")
        public DataSource orderDataSource() {
            DruidDataSource dataSource = new DruidDataSource();
            dataSource.setDriverClassName(driverClass);
            dataSource.setUrl(url);
            dataSource.setUsername(user);
            dataSource.setPassword(password);
            return dataSource;
        }
    
        @Bean(name = "orderTransactionManager")
        public DataSourceTransactionManager orderTransactionManager() {
            return new DataSourceTransactionManager(orderDataSource());
        }
    
        @Bean(name = "orderSqlSessionFactory")
        public SqlSessionFactory orderSqlSessionFactory(@Qualifier("orderDataSource") DataSource orderDataSource, MybatisProperties mybatisProperties) throws Exception {
            final SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
            sessionFactory.setDataSource(orderDataSource);
            sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver().getResources(OrderConfig.MAPPER_LOCATION));
            sessionFactory.setConfiguration(mybatisProperties.getConfiguration());
            return sessionFactory.getObject();
        }
    }

    等等。。。

  • 相关阅读:
    再收藏一篇: oracle批量绑定 forall bulk collect用法以及测试案例
    Dll中导出导入时巧用条件编译指令共享头文件
    Oracle不支持在select语句中调用自定义函数时使用自定义类型作参数?
    (Alan Murta)编制的多边形集合运算软件包(general polygon clipping library,简称GPC)
    MSDN:CFile和CStdioFile区别以及CString中的'\r\n'
    REF CURSOR 小结
    Oracle存储过程中执行DDL操作
    Oracle在存储过程中,如何删除和创建表?
    收藏:关于表名也动态的动态SQL文章
    用Select查询结果创建ACCESS表
  • 原文地址:https://www.cnblogs.com/yifanSJ/p/12100744.html
Copyright © 2020-2023  润新知