javaSpringBoot项目用mybatisplus配置Oracle和MySQL多数据源,以及将MySQL数据源设为默认数据源
时间: 2024-10-17 13:02:58 浏览: 162
在Java Spring Boot项目中,如果需要同时连接Oracle和MySQL数据库,并且希望其中一个作为默认数据源,可以使用MyBatisPlus配合Druid或HikariCP等连接池库来实现多数据源。以下是基本步骤:
1. 添加依赖:首先,在pom.xml文件中添加对应的驱动依赖(如ojdbc7、mysql-connector-java),并选择适合的数据库连接池(例如Druid或HikariCP)。
```xml
<dependencies>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
</dependency>
<!-- Oracle数据库驱动 -->
<dependency>
<groupId>oracle.jdbc</groupId>
<artifactId>ojdbc8</artifactId>
</dependency>
<!-- MySQL数据库驱动 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
</dependency>
</dependencies>
```
2. 配置数据源:创建两个不同的DataSource bean,分别对应Oracle和MySQL。在application.properties或application.yml文件中设置它们的URL、用户名和密码。
```properties
# application.properties 或 application.yml
spring.datasource.db1.url=jdbc:oracle:thin:@//ora-server:port/service_name
spring.datasource.db1.username=ora_user
spring.datasource.db1.password=ora_password
spring.datasource.db2.url=jdbc:mysql://mysql-server:port/db_name
spring.datasource.db2.username=mysql_user
spring.datasource.db2.password=mysql_password
# 设置默认数据源,这里假设db2是默认数据源
spring.datasource.default=db2
```
3. 使用@MapperScan注解扫描MyBatisPlus的映射器,并指定扫描包名,以便自动发现实体和映射器。
```java
@Configuration
public class MybatisPlusConfig {
@MapperScan("com.example.mapper") // 替换为实际的mapper包名
public void configureGlobal(MybatisConfiguration configuration) {
// 其他全局配置...
}
}
```
4. 在需要使用特定数据源的地方,通过`@Qualifier`注解或`DataSourceContextHolder`获取到正确的DataSource实例,然后注入到DAO或Service层。
```java
@Service
public class YourService {
private final JdbcTemplate jdbcTemplate;
@Autowired
@Qualifier("db2")
public YourService(JdbcTemplate jdbcTemplate) {
this.jdbcTemplate = jdbcTemplate;
}
// 在此服务的方法中,使用jdbcTemplate操作MySQL数据源
}
```
阅读全文