SpringBoo#MyBatisのデータソースを複数配置し、Sqliteを&MySQLの

ステップ:
負自動コンフィギュレーション・クラス・データ・ソース:

@SpringBootApplication(= {DataSourceAutoConfiguration。除外するクラスを })

ステップ2:
定義された2つのデータソース設定ファイル

#mysql数据库配置
mysql.spring.datasource.jdbc -url = JDBCます。mysql:// ?localhostの/ TS characterEncoding = UTF8&useSslオプション=真&serverTimezone = GMT%2B8 
mysql.spring.datasource.username = ルート
mysql.spring.datasource.password = ルート

#sqlite数据库的配置
sqlite.spring.datasource.url = JDBC:sqliteの:C:/ユーザー/ haonan /デスクトップ/ I-ワークスペース/ SS / srcに/メイン/リソース/ idatasrv.dbの
sqlite.spring.datasource.driver -クラス名= org.sqlite.JDBC 
sqlite.spring.datasource.username = 
sqlite.spring.datasource.password = 

#mybatis 
mybatis.configuration.map -underscoreツーcamel- ケース= 
logging.level.com.tl.ss.mapper =デバッグ

第三ステップ:
データソースのインスタンスに対応するための重要な属性のプロファイル、または確かに失敗に注意を払う、データソースBeanの定義

@Bean(名= "sqliteDataSource" 
@Qualifier(値 = "sqliteDataSource" 
@ConfigurationProperties(接頭辞 = "sqlite.spring.datasource" パブリックデータソースデータソースは、(){
     戻り DataSourceBuilder.createを()。タイプ(SQLiteDataSource。クラス) .build()。
} 

@Bean(名 = "mysqlDataSource" 
@Qualifier(値 = "mysqlDataSource" 
@ConfigurationProperties(接頭辞 = "mysql.spring.datasource" パブリックデータソースmysqlDataSource(){
     戻りDataSourceBuilder.create()を構築します()。
}

ステップ4:
SqlSessionTemplate /またはsqlSessionFactory定義またはSQLマッパーを得る実行
基本原理MyBatisのがまた[間違っている可能性があり、個人的な理解] SQLSESSION SQL文を介してデータベース操作を実行する、またはデータベースを操作するSQLSESSIONでマッパーを取得することで、テンプレートの構造は、一般的に必要となります工場インスタンス。
MySQLは使用:sqlSessionTemplate方法
Sqliteを使用:sqlSessionFactory方法を

コード1MySql:

@Configuration 
@MapperScan(basePackagesの = { "com.tl.ss.mapper.mysql"}、sqlSessionTemplateRef = "mysqlSqlSessionTemplate" パブリック クラスMysqlSqlSessionTemplateConfig { 

    @Bean(名 = "mysqlSqlSessionFactory" 公衆 SqlSessionFactory testSqlSessionFactory(@Qualifier( "mysqlDataSource" )データソースデータソース)がスロー{例外
        SqlSessionFactoryBean sessionFactoryBean = 新しいSqlSessionFactoryBean()。
        sessionFactoryBean.setDataSource(データソース)。
        sessionFactoryBean.setMapperLocations(新しい PathMatchingResourcePatternResolver()
                .getResources( "クラスパス*:マッパー/ mysqlの/ * XML" ));
        返すsessionFactoryBean.getObjectを(); 
    } 

    @Bean(名 = "mysqlSqlSessionTemplate" 公衆SqlSessionTemplate testSqlSessionTemplate(
            @Qualifier( "mysqlSqlSessionFactory")SqlSessionFactory sqlSessionFactory)スロー例外{
         返す 新しいSqlSessionTemplate(sqlSessionFactory)を、
    } 
}

 

コード2Sqlite:

@Configuration 
@MapperScan(basePackages = { "com.tl.ss.mapper.sqlite"}、sqlSessionFactoryRefは= "sqliteSqlSessionFactory" パブリック クラスSqliteSqlSessionFactoryConfig { 

    @Bean(名 = "sqliteSqlSessionFactory" 公衆 SqlSessionFactory testSqlSessionFactory(@Qualifier( "sqliteDataSource" )データソースデータソース)が
             スロー例外{ 
        SqlSessionFactoryBeanビーン = 新しいSqlSessionFactoryBeanを(); 
        bean.setDataSource(データソース)。
        bean.setMapperLocations(新しい PathMatchingResourcePatternResolver()
                .getResources("クラスパス*:マッパー/ SQLiteの/ * XML" ));
        返すbean.getObjectを(); 
    } 

}

ステップ5:
あなたが乾燥し始めることができ、ツールを使ってコードを生成します。

その他:
コード例:

 

おすすめ

転載: www.cnblogs.com/luohaonan/p/11577002.html