Java使用MongoDB

1.初始化MongoTemplate

// 设置IP和端口
ServerAddress serverAddress = new ServerAddress(“127.0.0.1”, 27017);


MongoClientOptions.Builder builder = new Builder();
// 设置当链接空闲时,空闲线程池中最大链接数
builder.connectionsPerHost(100);


// 设置一个线程等待链接可用的最大等待毫秒数
builder.threadsAllowedToBlockForConnectionMultiplier(10);


// 创建客户端并设置数据库
MongoClient mongo = new MongoClient(serverAddress, builder.build());
MongoTemplate mongoTemplate = new MongoTemplate(mongo, DB_NAME);


2.MongoTemplate实现增删改查

查询
// 设置查询条件
Criteria cri = new Criteria();


(1)and查询

//相等 * = VALUE
cri.and(KEY).is(VALUE);


// 不相等 * != VALUE --> $ne
cri.and(KEY).ne(VALUE);


// 大于等于 * >= VALUE --> $gte
cri.and(KEY).gte(VALUE);


//大于 * > VALUE --> $gt
cri.and(KEY).gt(VALUE);


// 小于等于 * <= VALUE --> $lte
cri.and(KEY).lte(VALUE);


//小于 * < VALUE --> $lt
cri.and(KEY).lt(VALUE);


// 模糊查询 * like VALUE
cri.and(KEY).regex((String) VALUE,"i"); // 加上“i”表示不区分大小写比较


// 在其中 * in VALUES --> $in
cri.and(KEY).in((List) VALUES);


// 不在其中 * not in VALUES --> $nin
cri.and(KEY).nin((List) VALUES);


// 两值之间包括两值 VALUE1 <= * <= VALUE2
cri.and(KEY).gte(VALUE1).lte(VALUE2);


// 是否包含某字段 VALUE为true或false --> $exists
cri.and(KEY).exists((Boolean) VALUE);


(2) or查询

List criteriaList = new ArrayList<>();
// 将or查询条件添加到list
criteriaList.add(Criteria.where(KEY).is(VALUE));
criteriaList.add(Criteria.where(KEY).ne(VALUE));
....
// 使用 orOperator(Criteria... criterias)
cri.orOperator(criteriaList.toArray(new Criteria[criteriaList.size()]));


// 将条件传进查询实例
Query query = new Query(cri);


// 设置排序条件
Sort sort = query.sort();
sort.on(KEY, Order.ASCENDING); // 根据KEY ASC正序
或sort.on(KEY, Order.DESCENDING); // 根据KEY DESC逆序


// 根据query查询collection下的记录数
mongoTemplate.count(query, collection);


// 根据query查询collection下的记录并封装成class的实体返回
mongoTemplate.find(query, clazz collection);


// 查询collection下所有记录并封装成class的实体返回
mongoTemplate.findAll(clazz , collection);


删除
// 根据query删除collection下的记录
mongoTemplate.remove(query, collection);


增改
// 保存或更新实体
mongoTemplate.save(obj, collection);


操作集合
// 根据集合名创建集合
mongoTemplate.createCollection(collection);


// 根据集合名删除集合
mongoTemplate.dropCollection(collection);


// 根据集合名获取集合对象
mongoTemplate.getCollection(collection);

你可能感兴趣的:(Java使用MongoDB)