赞
踩
一、pom依赖
- <dependency>
- <groupId>org.xerial</groupId>
- <artifactId>sqlite-jdbc</artifactId>
- <version>3.30.1</version>
- </dependency>
-
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-jdbc</artifactId>
- </dependency>
-
- <dependency>
- <groupId>org.mybatis.spring.boot</groupId>
- <artifactId>mybatis-spring-boot-starter</artifactId>
- <version>2.1.2</version>
- </dependency>
二、yml配置
- spring:
- datasource:
- driver-class-name: org.sqlite.JDBC
- url1: jdbc:sqlite::resource:xxx.db #数据库文件在resources目录下
- url2: jdbc:sqlite::resource:xxx.db
- url3: jdbc:sqlite::resource:xxx.db
三、启动类
- @SpringBootApplication(exclude = DataSourceAutoConfiguration.class)// 排除自动数据源配置
- public class Application {
- public static void main(String[] args) {
- SpringApplication.run(Application .class, args);
- }
- }
四、数据源配置
// 类名和bean name保持唯一性,否则会报bean name重复加载错误
@Configuration @MapperScan(basePackages = {"mapper.java路径"}, sqlSessionTemplateRef = "sqlSessionTemplate1") public class DataSourceConfig1 { @Value("${spring.datasource.url1}") private String url; @Primary @Bean(name = "dataSource1") public DataSource strategyDataSource() throws SQLException { SQLiteDataSource sqLiteDataSource = new SQLiteDataSource(); sqLiteDataSource.setUrl(url); sqLiteDataSource.setDatabaseName("dataSource1"); SQLiteConfig config = new SQLiteConfig(); config.setJournalMode(SQLiteConfig.JournalMode.OFF);// 关日志 config.setSynchronous(SQLiteConfig.SynchronousMode.OFF);// 关刷新 sqLiteDataSource.setConfig(config); return sqLiteDataSource; } @Bean(name = "sqlSessionFactory1") public SqlSessionFactory createSqlSessionFactoryBean(@Qualifier("dataSource1") DataSource dataSource) throws Exception { SqlSessionFactoryBean bean = new SqlSessionFactoryBean(); bean.setDataSource(dataSource); PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver(); bean.setMapperLocations(resolver.getResources("classpath:mapper.xml路径")); bean.getObject().getConfiguration().setMapUnderscoreToCamelCase(true); return bean.getObject(); } @Bean(name = "sqlSessionTemplate1") public SqlSessionTemplate sqlSessionTemplate(@Qualifier("sqlSessionFactory1") SqlSessionFactory sqlSessionFactory) { return new SqlSessionTemplate(sqlSessionFactory); } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。