yii2 多数据库 像spring boot 注解
时间: 2023-06-17 16:02:25 浏览: 65
在 Yii2 中,可以使用多个数据库连接来访问不同的数据库。Yii2 中的数据库连接是通过配置文件进行配置的,因此可以在配置文件中定义多个数据库连接。以下是一个示例配置:
```php
return [
// ...
'components' => [
'db' => [
'class' => 'yii\db\Connection',
'dsn' => 'mysql:host=localhost;dbname=mydatabase',
'username' => 'myusername',
'password' => 'mypassword',
],
'db2' => [
'class' => 'yii\db\Connection',
'dsn' => 'mysql:host=localhost;dbname=mydatabase2',
'username' => 'myusername2',
'password' => 'mypassword2',
],
],
// ...
];
```
在上面的配置中,我们定义了两个数据库连接:`db` 和 `db2`。这些连接可以在应用程序中的任何地方使用,例如在控制器中:
```php
class MyController extends \yii\web\Controller
{
public function actionIndex()
{
$db = Yii::$app->db;
$db2 = Yii::$app->db2;
// 使用 $db 访问第一个数据库
// 使用 $db2 访问第二个数据库
}
}
```
在控制器中,我们可以使用 `$db` 和 `$db2` 变量来访问我们在配置文件中定义的两个数据库连接。例如,我们可以使用 `$db->createCommand()` 和 `$db2->createCommand()` 方法来创建和执行 SQL 查询。
与 Spring Boot 的注解相比,Yii2 的方式可能更为繁琐,但它提供了更大的灵活性,因为您可以在任何地方使用任何一个数据库连接。