1.需求说明
注:此文档并不是程序运行过程中动态的切换数据源,而是需要手动修改yml文件,选择所要使用的数据库。
2.实现步骤
1):修改配置文件
每个项目的application.yml文件中只能有一个数据源,否则运行报错,这里采用的是新建两个yml文件(application-mysql.yml和application-oracle.yml),如下图
然后将各自的数据源信息编写进各自的yml文件中:
后续选择不同的数据库只需修改主配置文件即可(通过主配置文件加载其他的配置文件):
2):编写不同的sql语句
每个数据库的sql语句都有差异,可以通过mapper文件中databaseId的属性,编写不同数据库所对应的sql语句;
如下图所示:
如要使用databaseId的属性,就需要配置,这里选择的配置方式是在主配置类增加一个bean的配置如下:
在这段代码中,给Properties设置了两个对象,对应着两种数据库,一个是oracle,一个是mysql。key的值是对应的数据库的productName,value则是一个自定义的值,你可以取一个你喜欢的名字,这个名字会在mybatis的mapper里面用到。
后续如想兼容其他数据库,如达梦7数据库只需:
便可以使用databaseId的属性,编写不同数据库对应的sql语句