论坛首页 Java企业应用论坛

如何让系统支持多种数据库

浏览 22546 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2012-02-12  
kjj 写道
只能在dao层抽象两种设计了 比如 MysqlUserDao ,OracleUserDao,同样的功能实现两套就行了,你懂得,

我也建议这么做,弄个工厂模式!
0 请登录后投票
   发表时间:2012-02-12  
做多数据库支持无非以下几种方案:
1、Hibernate或Toplink等orm映射工具;
2、使用标准Sql语法;
3、使用Sql语法转换器;
4、开发两套Sql,根据所连接数据库在Dao层做自动转换;

推荐最好的方案:不做多数据库支持
0 请登录后投票
   发表时间:2012-02-12  
mybatis 
  sql语法不一样就行了 做MySqlDao OracleDao 感觉不好 以后不好维护
0 请登录后投票
   发表时间:2012-02-12  
用抽象工厂设计不同的数据库DAO,根据数据库配置选择不同DAO实例
0 请登录后投票
   发表时间:2012-02-12  
设计两套Dao层
0 请登录后投票
   发表时间:2012-02-12   最后修改:2012-02-12
插个题外话。
大家有遇到过这样的问题没,明明是一样的数据,一样标准的SQL。
却在不同的数据库下,得到不同的结果,当然是大部分相同,个别有点出入。
以前自己为了测嵌入式数据库性能时发现的,当时以测性能为主,就没太在意。
0 请登录后投票
   发表时间:2012-02-13  
要不你试一下国产的Nutz Dao 这个可以支持你所说的数据库
0 请登录后投票
   发表时间:2012-02-13   最后修改:2012-02-13
WAMING5 写道
用抽象工厂设计不同的数据库DAO,根据数据库配置选择不同DAO实例


你这样设计和做四个支持不同数据库的系统有多大区别。
0 请登录后投票
   发表时间:2012-02-13  
kjj 写道
只能在dao层抽象两种设计了 比如 MysqlUserDao ,OracleUserDao,同样的功能实现两套就行了,你懂得,

+1
0 请登录后投票
   发表时间:2012-02-13  
caizi12 写道
WAMING5 写道
用抽象工厂设计不同的数据库DAO,根据数据库配置选择不同DAO实例


你这样设计和做四个支持不同数据库的系统有多大区别。

那你能告诉我DAO那是哪层吗?整个系统?前面说了那么多好像思路都这样。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics