我在开发中遇到过pgsql和mysql同时用的情况。
场景是这样的:
当时
数据源1使用的固定是mysql,
数据源2有的地方实施使用的是mysql,有的地方使用的是pgsql。
这样在写代码的时候,就需要根据不同的库写不同的sql语句。
具体操作
- 在数据源1里面有个配置表,配置了一条数据记录当前数据源2使用的数据库类型(mysql或pgsql)。不同地方的实施根据自身情况修改此配置。
- 代码中定义一个接口,接口有两个实现类,两个实现类分别写pgsql和mysql的sql语句。接口作用的统一名称规范和进行接口调用。
- 有一个工具类Dbutil,spring启动的时候,执行类加载,执行其中的静态代码块,静态代码块中查询数据源1中的配置信息,进而选择创建哪一个实现类对象,上转型赋值给接口类型,通过接口调用其中方法。
代码因为项目保密问题就不贴了,这里只能提供一个思路