数据库中的"持久"和磁盘上的"持久"
来源:互联网 发布:mysql unique index 编辑:程序博客网 时间:2024/05/02 15:19
在一个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)操作获得数据流.
头大了。
- 数据库中的"持久"和磁盘上的"持久"
- 数据库和持久化方案
- ActiveMQ中的消息的持久化和非持久化 以及 持久订阅者 和 非持久订阅者之间的区别与联系
- 数据库的持久化(durability)
- aerospike 持久化磁盘时,namespace与磁盘的关系
- 理解JMS规范中的持久订阅和非持久订阅
- Redis中的RDB持久化和AOF持久化(一)
- 理解JMS规范中的持久订阅和非持久订阅
- 理解JMS规范中的持久订阅和非持久订阅
- 理解JMS规范中的持久订阅和非持久订阅
- iOS中的持久化&&数据库基本操作
- http的持久连接和非持久连接区别
- http的持久连接和非持久连接
- 一个简单的数据库持久方案
- 鲁棒的数据库持久层设计
- spring的持久化数据库访问
- 数据库持久化的深入理解
- 数据库结合Spring的各种持久化
- 请问有哪些方式能得到oracle帮助,像microsoft的sql数据库一样直接查它的帮助基本可以解决问题
- 一碗当归乌鸡汤
- 翻译
- EditPlus配置java编译/运行环境
- 修改特效
- 数据库中的"持久"和磁盘上的"持久"
- SOFTWARE DOWNLOAD
- xml杂碎知识
- 男女身高配对
- 什么是PE文件
- 给自己找点事做才不会无聊
- 记住牛人的话
- Windows蓝屏代码含义
- 一款很好玩的Flash游戏