java中MongoDB的简单应用实例
来源:互联网 发布:windows安装盘下载 编辑:程序博客网 时间:2024/05/17 23:32
1 首先加载 MongoDB的jar包。下载Jar包链接
2然后进行相应的配置。如我当前项目是在web-pom.xml 的的节点下配置。
<dependency> <groupId>org.mongodb</groupId> <artifactId>mongo-java-driver</artifactId> <version>2.9.3</version> </dependency>
下面写一个上传文件的最简单的实现。主要是体现mongoDB的使用方法。
/** * @MethodName : uploadFile * @Description : 上传文件 * @param file :文件,File类型 * @param id :唯一标示文件,可根据id查询到文件.必须设置 * @param dbName :库名,每个系统使用一个库 * @param collectionName:集合名,如果传入的集合名库中没有,则会自动新建并保存 * @param map:放入你想要保存的属性,例如文件类型(“congtentType”".jpg"),字符串类型,区分大小写,如果属性没有的话会自动创建并保存 */ public void uploadFile(File file ,String id,String dbName,String collectionName,LinkedHashMap<String, Object> map){ //把mongoDB的数据库地址配置在外部。 try { Mongo mongo =getMongo(); //每个系统用一个库 DB db= mongo.getDB(dbName); System.out.println(db.toString()); //每个库中可以分子集 GridFS gridFS= new GridFS(db,collectionName); // 创建gridfsfile文件 GridFSFile gridFSFile = gridFS.createFile(file); //判断是否已经存在文件,如果存在则先删除 GridFSDBFile gridFSDBFile=getFileById(id, dbName, collectionName); if(gridFSDBFile!=null){ deleteFile(id, dbName, collectionName); } //将文件属性设置到 gridFSFile.put("_id", id); //循环设置的参数 if (map != null && map.size() > 0) { for (String key : map.keySet()) { gridFSFile.put(key, map.get(key)); } } //保存上传 gridFSFile.save(); } catch (Exception e) { e.printStackTrace(); } }
上述代码中用到的 getFileById方法,即根据id获取文件。
/** * @MethodName : getFileById * @Description : 根据Id获得文件 * @param id :文件Id * @param dbName: 数据库名 * @param collectionName:集合名 * @return GridFSDBFile */ public GridFSDBFile getFileById(String id,String dbName,String collectionName){ GridFSDBFile gridFSDBFile=null; try { //获得mongoDB数据库连接。 Mongo mongo =getMongo(); //获得库 DB db= mongo.getDB(dbName); //获得子集 GridFS gridFS= new GridFS(db,collectionName); //获得文件 DBObject query=new BasicDBObject("_id", id); gridFSDBFile=gridFS.findOne(query); } catch (Exception e) { e.printStackTrace(); } //返回数据 return gridFSDBFile; }
第一个代码段中调用到的deleteFile文件。
/** * @MethodName : deleteFile * @Description : 删除文件 * @param id:文件对应的id * @param dbName:文件所在的库 * @param collectionName:文件所在的集合 */ public void deleteFile(String id,String dbName,String collectionName){ try { //获得mongoDB数据库连接。 Mongo mongo =getMongo(); //获得库 DB db= mongo.getDB(dbName); //获得子集 GridFS gridFS= new GridFS(db,collectionName); //删除文件 DBObject query=new BasicDBObject("_id", id); gridFS.remove(query); } catch (Exception e) { e.printStackTrace(); } }
调用的时候,直接调用我们写好的uploadFile类即可。其中dbName 是我们用到的数据库,collectionName是数据库中集合的名字。看看上传成功后数据库的位置。如下:
当然这仅仅是初步的使用。关于mongoDB在项目中的应用及其原理性的知识我们随着日后学习和使用的深入,再进行详细的介绍。
0 0
- java中MongoDB的简单应用实例
- java操作mongoDB数据库的简单实例
- java简单操作mongodb实例
- java应用MongoDB简单操作
- java Spring的简单应用实例
- 【MongoDB&JAVA】MongoDB教程及mongo 3.1+ jar的JAVA应用实例
- java中MongoDB中group的用法与实例
- Java中反射调用的简单实例
- Java中XSLT转换的简单实例
- vc++中Dao数据库的简单应用实例
- C#中Delegate类的简单应用实例
- CSS3中transition过渡属性的简单应用实例
- java图像界面开发简单实例-JCheckBox、JLabel的应用
- JAVA中正则表达式的简单应用
- java中输入输出流的简单应用
- MongoDB简单实例演示
- dom4j 的简单应用实例
- 简单的Ajax应用实例
- RecyclerView初体验(一)
- Oracle dba_dependencies和User_source
- 疑问系列 sscanf,sprintf ,double转换成int时损失问题
- springmvc mybatis(oracle 和 mysql) HTML5 全新高大尚后台框架 bootstrap
- 战网不能下载游戏
- java中MongoDB的简单应用实例
- 策略模式、上下文与内部类的思考
- 浅谈printf函数的返回值
- JAVA中的抽象类
- hdoj4810Wall Painting【组合数学+位运算】
- 优先深度搜索和广度搜索
- MCS_ACM DFS解题报告
- (一)spark学习笔记-开发环境
- 医院业务系统设计(三) --- 患者管理之预约系统