• Atitit sprbt 多数据源mltds datasource multi 目录 第一节 App cfg 1 第二节 Cfg bean 1 第三节 Use 4 第一节 App cfg


    Atitit sprbt 多数据源mltds  datasource multi  springboot

     

    目录

    第一节 App cfg

    第二节 Cfg bean

    第三节 Use

     

     

      • App cfg

     

    spring.datasource.db2.jdbc-url=jdbc:sqlite:db2.db

    spring.datasource.db2.driver-class-name=org.sqlite.JDBC

     

    Note,,cant only smpl  db2.url...must db2.jdbc-url=

     

      • Cfg bean

     

    package sprbtPKg;

     

    import java.util.Arrays;

    import java.util.HashSet;

    import java.util.Set;

     

    import javax.sql.DataSource;

     

    import org.apache.ibatis.session.SqlSessionFactory;

    import org.apache.log4j.Logger;

    import org.mybatis.spring.SqlSessionFactoryBean;

    import org.mybatis.spring.SqlSessionTemplate;

    import org.mybatis.spring.annotation.MapperScan;

    import org.springframework.beans.factory.annotation.Autowired;

    import org.springframework.beans.factory.annotation.Qualifier;

     

    /*

     * */

     

    import org.springframework.boot.SpringApplication;

    import org.springframework.boot.autoconfigure.SpringBootApplication;

    import org.springframework.boot.builder.SpringApplicationBuilder;

    import org.springframework.boot.context.properties.ConfigurationProperties;

    import org.springframework.boot.jdbc.DataSourceBuilder;

    import org.springframework.context.ConfigurableApplicationContext;

    import org.springframework.context.annotation.Bean;

    import org.springframework.context.annotation.ComponentScan;

    import org.springframework.context.annotation.Configuration;

    import org.springframework.core.io.Resource;

    import org.springframework.core.io.support.PathMatchingResourcePatternResolver;

     

    import other.Log4jTet;

    import util.MybatisUtilV55;

     

    @Configuration

    @ComponentScan(lazyInit = true)

    @SpringBootApplication

    public class Application {

     

    public static ConfigurableApplicationContext cfgAppContext;

     

    public static void main(String[] args) throws Exception {

     

    Logger logger = Logger.getLogger(Log4jTet.class);

    logger.info("start ...");

    cfgAppContext = SpringApplication.run(Application.class, args);

     

    }

     

    @Bean(name = "ds2")

    @ConfigurationProperties(prefix = "spring.datasource.db2")

    public DataSource newhomeDbDataSource() {

    return DataSourceBuilder.create().build();

    }

     

    @Bean(name = "sqlSessionFactoryDb2")

    public SqlSessionFactory sqlSessionFactoryDb2(@Qualifier("ds2") DataSource dataSourceDb2) throws Exception {

    SqlSessionFactoryBean SqlSessionFactoryBean1 = new SqlSessionFactoryBean();

    SqlSessionFactoryBean1.setDataSource(dataSourceDb2);

    // , mapper/**/*xMap.Mxml

     

    Resource[] ResourceMappers = MybatisUtilV55.getRsces("classpath:mapper/**/*.xml,classpath:mapper/**/*Map.xml");

     

    SqlSessionFactoryBean1.setMapperLocations(ResourceMappers);

    return SqlSessionFactoryBean1.getObject();

    }

     

    //

    // @Bean

    // public SqlSessionTemplate sqlSessionTemplateDb2() throws Exception {

    // return new SqlSessionTemplate(sqlSessionFactoryDb2());

    // }

    //

    // @Autowired

    // @Qualifier("ds2")

    // private DataSource dataSourceDb2;

    }

     

    public static  Resource[] getRsces(String mapPath) throws IOException {

    Set<Resource> resourcesSet = new HashSet();

    String[] paths = mapPath.split(",");

    for (String pth : paths) {

    Resource[] resources = new PathMatchingResourcePatternResolver().getResources(pth);

    resourcesSet.addAll(Arrays.asList(resources));

    }

    // [file

    // [C:UsersATIeclipse-workspaceminiCodePrj argetclassesmapper mDao.xml]

     

    Resource[] ResourceMappers = resourcesSet.stream().toArray(Resource[]::new);

    return  ResourceMappers;

    } 

     

      • Use

    package sprbtPKg;

     

     

    import org.apache.ibatis.session.SqlSession;

    import org.apache.ibatis.session.SqlSessionFactory;

    import org.apache.log4j.Logger;

    import org.springframework.beans.factory.annotation.Autowired;

     

    import org.springframework.web.bind.annotation.RequestMapping;

    import org.springframework.web.bind.annotation.RequestParam;

    import org.springframework.web.bind.annotation.RestController;

     

    import other.Log4jTet;

     

    @RestController

    public class HelloController {

     

     

    @Autowired

    SqlSession SqlSession1;

     

        @RequestMapping("/db")

        Object db() {

        

           Logger logger =  Logger.getLogger(Log4jTet.class);

           logger.info( SqlSession1.selectList("qry1","select 1 t1"));

        

        // org.sqlite.JDBC

          //  return   SqlSession1.selectList("qry1","select 2 t22");

         SqlSessionFactory SqlSessionFactory2= (SqlSessionFactory) Application.cfgAppContext.getBean("sqlSessionFactoryDb2");

         SqlSession SqlSession2=SqlSessionFactory2.openSession(true);

         return   SqlSession2.selectList("qry1","select 3 t33");

        }

        

  • 相关阅读:
    防火墙基础知识(持续补充更新)
    GNS3配置问题(持续更新)
    vc程序设计--对键盘与鼠标的响应(1)
    VC程序设计--文字输出方法与字体示例
    Excel vlookup筛选两列的重复项
    centos 软件安装包下载网站
    CentOS7 SSH免密码登录
    nmap 端口扫描工具
    win7 能ping通dns, 但无法解析域名
    转 Windws Server 2012 Server Backup(备份与还原)
  • 原文地址:https://www.cnblogs.com/attilax/p/15196838.html
Copyright © 2020-2023  润新知