连接多个数据库

优质
小牛编辑
138浏览
2023-12-01

从bugu-mongo 2.11版本开始,支持连接到多个数据库。

在前面的示例代码中,我们都只是连接到一个数据库:

//默认的数据库连接
BuguConnection conn = BuguFramework.getInstance().createConnection();
conn.setHost("192.168.0.100");
conn.setPort(27017);
conn.setUsername("test");
conn.setPassword("test");
conn.setDatabase("test");
conn.connect();

默认情况下,@Entity标注的对象,都会映射到这个默认的数据库连接。例如,下面这个实体类,就会映射到test数据库中的foo表:

@Entity
public class Foo implements BuguEntity {
    //......
}

除了这个默认的数据库连接之外,还可以在程序中连接到其他数据库,只需指定一个名称即可:

//创建一个名称为"test2"的数据库连接
BuguConnection conn2 = BuguFramework.getInstance().createConnection("test2");
conn2.setHost("192.168.0.200");
conn2.setPort(27017);
conn2.setUsername("test2");
conn2.setPassword("test2");
conn2.setDatabase("test2");
conn2.connect();

这样,我们创建了一个名为"test2"的数据库连接。

对于映射到"test2"数据库的Collection,只需要在@Entity中指定连接名称即可:

@Entity(connection = "test2")
public class Foo2 implements BuguEntity {
    //......
}

这样就OK了。当然,别忘记,在程序退出的时候,调用BuguFramework.getInstance().destroy()释放所有的数据库连接。