grails3—配置多数据源

如果grails项目中,不同的domain类型需要映射不同的数据库中的表,此时就需要连建立多个datasource去连接指定的数据库。配置连接多个库的具体实现方法为:

在application.yml文件中,增加dataSources属性配置,里面包含每个具体的数据源配置。如下:

grails3—配置多数据源

 

如果需要实现不同的domain类连接操作不同的库,在domain类中static mapping下还需要指定具体连接的库是哪一个,如下:

grails3—配置多数据源

grails3—配置多数据源

这样在Aaaaa和Bbbbb两个domain类对应数据信息就分别存放在了指定的数据库中

注意:如果多数据源中有一个数据源名称定义为“dataSource”(“dataSource”也是单数据源使用名称)时,domain类中static mapping下配置的“dataSource”指定名称为“DEFAULT”【datasource "DEFAULT"】,或者不进行配置,不可以配置为:datasource = "datasource"

多数据源时,在service中操作指定数据库时,声明数据源时名称格式为:datasource+【下划线“_”】+【数据源名称】,数据源名称为“dataSource”的除外,数据源名称为“dataSource”的直接将名称定义为““dataSource”【def dataSource】。如:

grails3—配置多数据源

 

例子:

grails3—配置多数据源

grails3—配置多数据源

grails3—配置多数据源