Database design 使代码可重用于db-mysql和db2的最佳方法是什么

Database design 使代码可重用于db-mysql和db2的最佳方法是什么,database-design,spring-mvc,Database Design,Spring Mvc,我们的代码使用MySQL数据库 现在我们的需求是将数据库从Mysql迁移到DB2。 并且使java代码兼容db2和mysql 我们使用SpringMVC和mybatis、JPA进行DB工作 请告诉我什么是更好的设计模式给我 如何使mybatis的代码与mysql和db2兼容 谢谢,我建议您使用单独的数据层 让此数据层声明业务逻辑使用的公共接口和数据类型 然后,您可以使用工厂模式创建实际的数据层实例,工厂模式创建一个连接到MySQL或DB2的具体类。通过这种方式,您可以更改数据库,而不必更改业务代

我们的代码使用MySQL数据库

现在我们的需求是将数据库从Mysql迁移到DB2。 并且使java代码兼容db2和mysql

我们使用SpringMVC和mybatis、JPA进行DB工作

请告诉我什么是更好的设计模式给我

如何使mybatis的代码与mysql和db2兼容


谢谢,

我建议您使用单独的数据层

让此数据层声明业务逻辑使用的公共接口和数据类型

然后,您可以使用工厂模式创建实际的数据层实例,工厂模式创建一个连接到MySQL或DB2的具体类。通过这种方式,您可以更改数据库,而不必更改业务代码,因为它都引用接口类型。您甚至可以将其设置为在运行时执行此操作,例如基于配置设置

e、 g

IDataLayer是一个基类,它包含用于获取/设置隐藏在其中的基本数据库处理的数据的方法

然后是MySQLDataLayer和DB2DataLayer子类

业务逻辑只引用IDataLayer,而从不引用MySQLDataLayer/DB2DataLayer类