+ -
当前位置:首页 → 问答吧 → 多数据库 怎么设计dao

多数据库 怎么设计dao

时间:2011-12-22

来源:互联网

有多种类型的数据库 每种数据库可能有多个库 多台机器

可能是mongodb
radis

mysql


是设计3种dao
还是怎么弄?


最好给个例子

作者: xming4321   发布时间: 2011-12-22

弄个dao接口,抽象类,相同的sql实现都放到里面

然后特定于数据库的sql放到子类

再弄个工厂,根据配置或其它东西返回具体某个数据相关的dao实例

作者: ticmy   发布时间: 2011-12-22

我一般多是放到配置文件里面
不同是数据库,不同的配置,调用时区别开。

作者: JavaAlpha   发布时间: 2011-12-22

简单一点的:

  IDao 定义好通用接口
  |
  BaseMongoDao BaseRadiosDao BaseMysqlDao 实现公共接品,另外可以自己特有的公用方法
   
  |
 具体mongoDao1....

如果有需要,可以在IDao 和baseDao之间加多一层接口,让具体的basedao 实现自己的接口,而不是直接实现Idao
   
 

作者: zl3450341   发布时间: 2011-12-22

你是想做三个数据库版本的程序还是一个项目中用到了三个数据库
如果是一个项目中用到三个库的话,我都是定义三个连接池,用到那个拿哪个

作者: viszl   发布时间: 2011-12-22

就用我们说好的第一种设计吧。 哎,实大没想出更优的设计方案。 这样设计虽然有点麻烦,不过加上泛型以后,扩展性、重用性还是很好的。

作者: 心北   发布时间: 2011-12-22

引用 4 楼 viszl 的回复:
你是想做三个数据库版本的程序还是一个项目中用到了三个数据库
如果是一个项目中用到三个库的话,我都是定义三个连接池,用到那个拿哪个

定义3个数据源,比较假单和常用。

作者: huangxw000   发布时间: 2011-12-22

对了,结账的时候分给到我这个帐号

作者: 朝花夕拾   发布时间: 2011-12-22

引用 3 楼 zl3450341 的回复:

简单一点的:

IDao 定义好通用接口
|
BaseMongoDao BaseRadiosDao BaseMysqlDao 实现公共接品,另外可以自己特有的公用方法

|
具体mongoDao1....

如果有需要,可以在IDao 和baseDao之间加多一层接口,让具体……


这个可以赛

作者: small_fish__   发布时间: 2011-12-22