application.yml中配置db2数据源,Oracle数据源,mongo数据源,并举例如何调用
时间: 2024-03-12 18:48:16 浏览: 89
配置数据源
好的,下面是一个示例的 `application.yml` 文件,其中包含了 db2 数据源、Oracle 数据源和 MongoDB 数据源的配置:
```
spring:
datasource:
db2:
url: jdbc:db2://localhost:50000/your_database_name
username: your_username
password: your_password
driver-class-name: com.ibm.db2.jcc.DB2Driver
oracle:
url: jdbc:oracle:thin:@localhost:1521:your_database_name
username: your_username
password: your_password
driver-class-name: oracle.jdbc.OracleDriver
data:
mongodb:
host: localhost
port: 27017
database: your_database_name
username: your_username
password: your_password
```
在上面的配置中,我们分别为 db2 数据源、Oracle 数据源和 MongoDB 数据源配置了 URL、用户名、密码和驱动程序。需要注意的是,对于 MongoDB 数据源,我们使用了 `data.mongodb` 前缀,而不是 `spring.datasource` 前缀。
下面是一个使用 JdbcTemplate 查询 db2 数据库的示例代码:
```
@Autowired
@Qualifier("db2")
JdbcTemplate db2JdbcTemplate;
public void queryDb2Database() {
String sql = "SELECT * FROM your_table_name";
List<Map<String, Object>> rows = db2JdbcTemplate.queryForList(sql);
for (Map<String, Object> row : rows) {
// 处理查询结果
}
}
```
在上面的代码中,我们使用了 `@Qualifier("db2")` 注解来指定要注入的 JdbcTemplate 对象是针对 db2 数据源的。其他数据源可以类似地使用 `@Qualifier` 注解来指定要注入的对象。
以下是一个使用 MyBatis 查询 Oracle 数据库的示例代码:
```
@Autowired
@Qualifier("oracle")
SqlSessionFactory oracleSqlSessionFactory;
public void queryOracleDatabase() {
SqlSession session = oracleSqlSessionFactory.openSession();
try {
YourMapper mapper = session.getMapper(YourMapper.class);
List<YourObject> result = mapper.query();
// 处理查询结果
} finally {
session.close();
}
}
```
在上面的代码中,我们使用了 `@Qualifier("oracle")` 注解来指定要注入的 SqlSessionFactory 对象是针对 Oracle 数据源的。其他数据源可以类似地使用 `@Qualifier` 注解来指定要注入的对象。
以下是一个使用 MongoDB 查询数据的示例代码:
```
@Autowired
MongoTemplate mongoTemplate;
public void queryMongoDatabase() {
Query query = new Query(Criteria.where("your_field_name").is("your_value"));
List<YourObject> result = mongoTemplate.find(query, YourObject.class);
// 处理查询结果
}
```
在上面的代码中,我们使用了 MongoTemplate 对象来查询 MongoDB 数据库。我们使用了一个 `Query` 对象来指定查询条件,然后使用 `mongoTemplate.find()` 方法执行查询。查询结果以一个对象列表的形式返回,你可以根据需要对其进行处理。
阅读全文