我们的代码正在使用MySQL DB。
现在我们的要求是将数据库从Mysql迁移到DB2。 并使java代码兼容db2和mysql。
我们正在使用SPring MVC和mybatis,JPA来进行数据库工作。
请建议我提供更好的设计模式。
如何使我的mybatis代码兼容mysql和db2?
感谢,
答案 0 :(得分:0)
我建议你有一个单独的数据层。
让此数据层声明业务逻辑使用的公共接口和数据类型。
然后,您可以使用工厂模式创建实际的数据层实例,从而创建用于连接MySQL或DB2的具体类。通过这种方式,您可以更改数据库,而无需更改业务代码(因为它都指的是接口类型)。您甚至可以将其设置为在运行时执行此操作,例如基于配置设置。
e.g。
IDataLayer是您的基类,包含获取/设置数据的方法(其中隐藏了细节数据库处理)。
然后有MySQLDataLayer和DB2DataLayer子类。
业务逻辑仅涉及IDataLayer,而不涉及MySQLDataLayer / DB2DataLayer类。