如何用spring集成mongodb实现文件上传
来源:互联网 发布:淘宝甩手铺货 编辑:程序博客网 时间:2024/05/17 04:42
首先要把必要的mongoDB需要的jar加进项目中
定义mongoDB的bean
<bean id="mongoClient" class="com.mongodb.MongoClient"><constructor-arg index="0" type="java.lang.String" name="host" value="127.0.0.1" /><constructor-arg index="1" type="int" name="port" value="27017" /></bean>自定义实现mongodb增删改实体类
<bean id="mongoDB" class="com.test.MongoDB"><property name="mongoClient" ref="mongoClient" /><property name="dbName" value="orcl" /></bean>定义mongoClient基础类
public class MongoDB {private MongoClient mongoClient;private String dbName;/** * 获取名为dbName数据库 * * @return */public DB getDB() {return mongoClient.getDB(dbName);}public MongoClient getMongoClient() {return mongoClient;}public void setMongoClient(MongoClient mongoClient) {this.mongoClient = mongoClient;}public String getDbName() {return dbName;}public void setDbName(String dbName) {this.dbName = dbName;}}定义mongodb操作Dao类
/** * 增 * * @param bean * @return */public T save(T bean) {String beanJson = JsonUtil.getJSONString(bean);DBCollection collection = mongoDB.getDB().getCollection(clazz.getSimpleName());collection.save((DBObject)JSON.parse(beanJson));return bean;}/** * 删 * @param id */public void remove(String id) {DBCollection collection = mongoDB.getDB().getCollection(clazz.getSimpleName());BasicDBObject doc = new BasicDBObject();doc.put("_id", id);collection.remove(doc);}/** * 改 * @param query * @param newDoc */public void update(BasicDBObject query, BasicDBObject newDoc) {DBCollection collection = mongoDB.getDB().getCollection(clazz.getSimpleName());collection.update(query, newDoc);}定义保存文件类
/** * 保存文件到MongoDB GridFS * * @param in- 需要保存文件的输入流 * @param id- 需要保存文件的唯一ID * @param fileName- 需要保存文件的文件名 * @param contentType - 需要保存文件的文件类型 * @param downloadName - 需要保存文件被下载时的文件名 */public void save(InputStream in, String id, String fileName, String contentType, String downloadName) {GridFS fs = new GridFS(mongoDB.getDB(), this.getClass().getSimpleName());GridFSInputFile fsFile = fs.createFile(in);fsFile.setId(id);fsFile.setFilename(fileName);fsFile.setContentType(contentType);fsFile.put("downloadName", downloadName);fsFile.save();}/** * 从MongoDB GridFS文件系统中删除指定ID的文件 * * @param id */public void remove(String id) {GridFS fs = new GridFS(mongoDB.getDB(), this.getClass().getSimpleName());BasicDBObject query = new BasicDBObject("_id", id);fs.remove(query);}/** * 从MongoDB GridFS文件系统中批量删除指定ID的文件 * @param ids */public void batchRemove(String... ids) {GridFS fs = new GridFS(mongoDB.getDB(), this.getClass().getSimpleName());for(String id : ids){BasicDBObject query = new BasicDBObject("_id", id);fs.remove(query);}}
0 0
- 如何用spring集成mongodb实现文件上传
- 如何用seam实现文件上传
- 如何用FileItem来实现文件上传
- 2007.5.15-----如何用jsp实现文件上传功能?
- 如何用nodejs+jquery.ajaxfileupload.js实现文件上传功能
- spring+mongodb 文件上传与下载实现
- asp.net 如何用webclient上传文件
- 如何用jspSmartUpload上传文件:)
- 如何用FTP软件上传网站文件
- 如何用Spring读取JAR中的文件
- 如何用Struts实现动态(不定数量)多个文件上传
- 如何用Struts实现动态(不定数量)多个文件上传?
- spring集成:如何用传统方式使用fastDFSClient
- 如何用delphi实现ftp下载文件
- 如何用编码实现文件下载
- 如何用JAVA实现文件的覆盖
- 如何用jsp中实现文件下载
- 如何用html实现文件下载
- JavaScript原型、闭包、继承和原型链等等总结
- PAT乙级训练题--1001
- 绘制地图&热力图-R语言
- 2016秋季练习
- Thread类
- 如何用spring集成mongodb实现文件上传
- [bzoj2086][Poi2010]Blocks 单调栈
- PAT乙级训练题--1002
- 兼容iOS 10 资料整理笔记
- HTML meta 标签
- hdu 5890 Eighty seven 背包bitset
- 老鸟程序员知道而新手不知道的小技巧
- hdoj5883The Best Path【欧拉回路】
- C#之WinForm基础 用comboBox1.Items.Add()向comboBox添加可选数据