1.依赖:
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>3.0.4</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.47</version>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.5</version>
</dependency>
2.创建连接:
public static MongoDatabase init() {
// 链接mongodb数据库
List<ServerAddress> adds = new ArrayList<>();
ServerAddress serverAddress = new ServerAddress("localhost", 27017);
adds.add(serverAddress);
List<MongoCredential> credentials = new ArrayList<>();
MongoCredential mongoCredential = MongoCredential.createScramSha1Credential(
"username",
"databaseName",
"password".toCharArray()
);
credentials.add(mongoCredential);
MongoClient mongoClient = new MongoClient(adds, credentials);
MongoDatabase mongoDatabase = mongoClient.getDatabase("databaseName");
// mongoClient.close();
return mongoDatabase;
}
3.查询数据:
public List<String> findMongo(String table,JSONObject query) {
List<String> policyList = new ArrayList();
MongoDatabase mongoDatabase = MongoDBPO.init();
MongoCollection<Document> collection = mongoDatabase.getCollection(table);
// 过滤条件
String name=query.getString("name");
Bson filter = Filters.eq(name, query.get("value"));
FindIterable findIterable = collection.find(filter);
MongoCursor cursor = findIterable.iterator();
while (cursor.hasNext()) {
Object dbObject = cursor.next();
String a = JSON.serialize(dbObject);
policyList.add(a);
}
// System.out.println(policyList);
return policyList;
}
3.插入对象:
public void insertMongo(String tname){
// 创建数据对象
Person gj =new Person();
Gson gson = new Gson();
// 链接mongo
MongoDatabase db = MongoDBPO.init();
MongoCollection<Document> doc = db.getCollection(tname);
//将对象转换为字符串
String jsonobj = gson.toJson(gj);
// 将字符串转换为 Document类型 插入数据库
Document document = Document.parse(jsonobj);
doc.insertOne(document);
}
}
4.对象:
public class Person{
private String name="zhangsan";
private String age="22";
private String sex= "M";
}