Java

本类阅读TOP10

·使用MyEclipse开发Struts框架的Hello World!(录像1)
·Tomcat5.5.9的安装配置
·Jsp 连接 mySQL、Oracle 数据库备忘(Windows平台)
·hibernate配置笔记
·构建Linux下IDE环境--Eclipse篇
·linux下Tomcat 5.0.20 与 Apache 2 安装/集成/配置
·AOP编程入门--Java篇
·创建文件夹和文件的java代码范例
·Java常见面试题(含答案)
·Java编写的计算器程序及源代码

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
数据库中的"持久"和磁盘上的"持久"

作者:未知 来源:月光软件站 加入时间:2005-6-5 月光软件站

在一个B/S结构的系统中(struts+hibernate+mysql+tomcat),现在有一个文件管理需求:
1.客户端选择一个文件上传至服务器后,服务器端需要将上传的文件保存至磁盘指定的目录下,并且将文件信息保存至数据库中(包括上传时间,上传者,文件存放路径等等一些信息).
2.下载时服务器端是根据数据库中文件存放路径得到文件下载到客户端.

这样一个文件对象的持久化好象对应了数据库的持久和磁盘空间上的持久.这么这两种持久操作是否应该分别放在两个类中,一个是对数据库的持久,一个是在磁盘上的持久操作.还是两两种操作放在一个类中.

现在我的类是这样的.

public class FileInfo
{
 private Integer id;
 private String location;
 private Date uploadDate;
 
 ...getter,setter operate... 
}


public class FileInfoDAO
{
 public FileInfo getFileInfoById(Integer id)
 {
  ...
 }
 ...
}


public class FileInfoService
{
 
 public FileInfo getFileInfoById(Integer id)
 {
  ...
 }
 
 public InputStream getFile(FileInfo fileInfo)
 {
  String fileName = FileIinfo.getLocation;
  ...
 }
 
 ...
}


现在我感觉把获得文件流操作放在FileInfoService中有点怪怪的,是否把对数据流的操作放到FileIinfo中,然后在FileInfoService中取得FileInfo,通过FileIinfo的getFile(FileInfo fileInfo)操作获得数据流.

头大了。




相关文章

相关软件




月光软件程序下载编程文档电脑教程网站设计网址导航网络文学游戏天地幽默笑话生活休闲写作范文安妮宝贝
电脑技术编程开发网络专区谈天说地情感世界游戏元素分类游戏热门游戏体育运动手机专区业余爱好影视沙龙
音乐天地数码广场教育园地科学大观古今纵横谈股论金人文艺术医学保健动漫图酷二手专区地方风情各行各业

月光软件站·版权所有