作者 内容
 linchangping   如何设计多表间数据查询的数据层
 

我正在使用三层结构去编程实现项目。
我是这样做的,基本上每一个表对应一个实体类和集合类,这样可以完全实现单表的数据库操作,包括查询和更新。
但如果遇上多表查询,特别是统计时,这种情况很多。用实体类去实现,效率明显大大下降,并且觉得很烦,如果不做三层结构时,可以利用一个Sql语句就可以解决,但现在要写很多代码去实现,执行效率太低!!

那位高手,有此经验,请多多指教!

 03/01/17 10:14 酷帖!    臭帖!    回复  
酷帖评价:           臭帖评价:
返回页首
 weihello  回复: 如何设计多表间数据查询的数据层
 

累啊, 你去看看JDO的标书吧。

重复性的,不必要的劳动,老问题。
 

 03/01/17 10:18 酷帖!    臭帖!    回复  
酷帖评价:           臭帖评价:
返回页首
 tacone  我目前的做法
 

我也遇到类似情况,由于担心应用服务器的效率,把跨表查询都做成存储过程防盗数据库服务器上了

 03/01/17 13:12 酷帖!    臭帖!    回复  
酷帖评价:           臭帖评价:
返回页首
 javalover   回复: 如何设计多表间数据查询的数据层
 

这是一个老问题了,不同的人有不同的解法.

1.需要查询的情况.
a.可以通过动态构建sql语句,并向后台提交,将结果返送到一个通用数据集控件,
即可,通用性强,客户端简单,易维护.
b.将实体映射为一个view.
效果同于a.,但相比于a它更有以下好处,可后台进行全局维护并升级,在数据量中等及少的情况下,比a.有更高的执行效果.
c.设计代码型的实体类,通过该类去进行数据的操作.
代码量大,难维护,方法最笨.

2.需要更新的情况.
a.采用设计代码型实体类,通过类去更新数据.
代码量大,难维护,设计思路最原始.
b.通过前台,动态构建更新sql语句.
设计相比复杂,通用性强,易维护,易管理,效率相比高.

3.对上是对于单表型实体的操作,对于复合型,即一个实体的属性在构建上是源于多个物理表,并伴有链接关系.
a.设计代码型实体类,即ADO型.思路简单,可行性高.
b.通过前台,动态构建sql.
设计复杂,少有实现者.

 03/01/17 13:43 酷帖!    臭帖!    回复  
酷帖评价:           臭帖评价:
返回页首