当前位置: 技术问答>java相关
支持多种数据库的解决方案?
来源: 互联网 发布时间:2015-08-09
本文导语: 以前做的项目是基于Oracle的,可是现在又要支持SQL Server。那么,那些中间件和SQL语句又得重新写一套。如果将来又要支持别数据库的呢? 大侠们有没有好的解决方案? | 可以将SQL写入XML文...
以前做的项目是基于Oracle的,可是现在又要支持SQL Server。那么,那些中间件和SQL语句又得重新写一套。如果将来又要支持别数据库的呢?
大侠们有没有好的解决方案?
大侠们有没有好的解决方案?
|
可以将SQL写入XML文件,程序中只做解析,这样,以后变更数据库,只需要修改或重写XML文件,petstore里是这么做的。
我瞎说的:)
我瞎说的:)
|
使用数据访问对象DAO。
switch (DATA_TYPE){
case ORACLE:
通过JDBC 读取Oracle 数据
break;
case Excel:
通过专门的API 进行读取,Excel 文件
PetStore 中EJB 的设计模式
break;
case XML
通过JDOM 进行,分析XML 文件;
break;
}
使用接口DAO(就是DataAccessObject),它什么具体的事都不做,就申明几个方法,在
业务逻辑类中,只管调用它就行了,好像在说我能做什么,不要管我怎样做,就想我们的销
售接项目一样,说我们公司什么事都可以做。但是项目接下以后,就由我们这些命苦的开发
人员来实现。最后也就是DAOImplementor 根据数据的不同有不同的具体类来读取(它有可
能是DAOImplementor_ORACLE 类实现读取Oracle 数据库,DAOImplementor_EXCEL,
实现通过API 读取Excel 文件,DAOImplementor_XML 实现读取XML 文件)。这样你可,
在业务逻辑类中,不负责数据的读取,只关注业务逻辑的实现,它只需调用DAO 获得数据,
真正实现数据的读取是DAOImplementor_ORACLE 这样的类。
switch (DATA_TYPE){
case ORACLE:
通过JDBC 读取Oracle 数据
break;
case Excel:
通过专门的API 进行读取,Excel 文件
PetStore 中EJB 的设计模式
break;
case XML
通过JDOM 进行,分析XML 文件;
break;
}
使用接口DAO(就是DataAccessObject),它什么具体的事都不做,就申明几个方法,在
业务逻辑类中,只管调用它就行了,好像在说我能做什么,不要管我怎样做,就想我们的销
售接项目一样,说我们公司什么事都可以做。但是项目接下以后,就由我们这些命苦的开发
人员来实现。最后也就是DAOImplementor 根据数据的不同有不同的具体类来读取(它有可
能是DAOImplementor_ORACLE 类实现读取Oracle 数据库,DAOImplementor_EXCEL,
实现通过API 读取Excel 文件,DAOImplementor_XML 实现读取XML 文件)。这样你可,
在业务逻辑类中,不负责数据的读取,只关注业务逻辑的实现,它只需调用DAO 获得数据,
真正实现数据的读取是DAOImplementor_ORACLE 这样的类。
|
写一个操作数据库的代理类