MongoDB连接java
一丶创建maven工程
-
依赖引入
<dependencies> <dependency> <groupId>org.mongodb</groupId> <artifactId>mongodb-driver</artifactId> <version>3.4.1</version> </dependency> </dependencies>
-
也可以jar包引入:
- [mongodb-driver-3.4.1.jar]
- [mongodb-driver-core-3.4.1.jar]
- [bson-3.4.1.jar]
二丶demo案例
MongoClient client=new MongoClient();//创建连接对象
MongoDatabase database = client.getDatabase("数据库名");//获取数据库
MongoCollection<Document> collection = database.getCollection("集合名");//获取集合
FindIterable<Document> list = collection.find();//获取文档集合
for( Document doc: list){
//遍历集合中的文档输出数据
System.out.println("name:"+ doc.getString("name") );
System.out.println("sex:"+ doc.getString("sex") );
System.out.println("age:"+ doc.getDouble("age") );//默认为浮点型
System.out.println("address:"+ doc.getString("address") );
System.out.println("--------------------------");
}
注:MongoDB的数字类型默认使用64位浮点型数值。{“x”:3.14}或{“x”:3}。对于整型值,可以使用NumberInt(4字节符号整数),{“x”:NumberInt(“3”)} 或NumberLong(8字节符号整数){“x”:NumberLong(“3”)}
在获取的时候更过键值对获取,json格式的键值对
三丶查询文档
-
匹配查询:MongoDB使用BasicDBObject类型封装查询条件,构造方法的参数为key 和value .
- eg: 查询student集合中name为猪八戒的文档
//构建查询条件 BasicDBObject bson=new BasicDBObject("name", "猪八戒"); FindIterable<Document> list = collection.find(bson);//获取文档集合 //....遍历集合
-
模糊查询:构造模糊查询条件是通过正则表达式来实现的
-
完全匹配Pattern pattern = Pattern.compile("^name$");
-
右匹配Pattern pattern = Pattern.compile("^.name$");
-
左匹配Pattern pattern = Pattern.compile("^name.*$");
-
模糊匹配Pattern pattern
-