MongoDB客户端工具
MongoDB
是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。
MongoDB
是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。
引入工具包
<dependency>
<groupId>com.wueasy</groupId>
<artifactId>wueasy-data-mongodb</artifactId>
<version>最新版本</version>
</dependency>
influxdb连接配置
mongodb
:配置mongodb
连接集合,可以配置多个mongodb
连接demo
:mongodb
连接的key
,可以配置多个,唯一uri
:数据库地址auto-index-creation
:自动创建索引,默认true
,4.4.2版本新增
wueasy :
data:
mongodb:
demo:
uri: mongodb://127.0.0.1:27017/wueasy
auto-index-creation: true
java中引用mongodb客户端
通过@Qualifier
注解注入,并指定服务名称。
服务名称
说明:规则由mongodb配置的连接key + MongoTemplate
组成
@Autowired
@Qualifier("demoMongoTemplate")
private MongoTemplate mongoTemplate;
启动类配置
由于
spring boot
启动时会自动注入数据库,所以启动类中需要配置取消自动注入,增加MongoDataAutoConfiguration.class,MongoAutoConfiguration.class
@SpringBootApplication(exclude={MongoDataAutoConfiguration.class,MongoAutoConfiguration.class})//开启组件扫描和自动配置
工具使用
支持创建索引、分页查询、修改数据,工具类位置com.wueasy.data.mongodb.util.MongodbHelper
public class MongodbHelper {
/**
* 查询分页
* @author: fallsea
* @param <T>
* @param mongoTemplate
* @param query 查询条
* @param entityClass
* @param pageNum 第几页
* @param pageSize 每页数量
* @return
*/
public static <T> Page<T> selectPage(MongoTemplate mongoTemplate,Query query, Class<T> entityClass, long pageNum, int pageSize);
/**
* 查询分页
* @author: fallsea
* @param <T>
* @param mongoTemplate
* @param query 查询条件
* @param sort 排序条件
* @param entityClass
* @param pageNum 第几页
* @param pageSize 每页数量
* @return
*/
public static <T> Page<T> selectPage(MongoTemplate mongoTemplate,Query query, Sort sort, Class<T> entityClass, long pageNum, int pageSize);
/**
* 查询分页
* @author: fallsea
* @param <T>
* @param mongoTemplate
* @param query 查询条件
* @param sort 排序条件
* @param entityClass
* @param collectionName 集合名称
* @param pageNum 第几页
* @param pageSize 每页数量
* @return
*/
public static <T> Page<T> selectPage(MongoTemplate mongoTemplate,Query query, Sort sort, Class<T> entityClass,String collectionName, long pageNum, int pageSize);
/**
* 修改全部属性
* @author: fallsea
* @param mongoTemplate
* @param data 数据对象
* @return
*/
public static UpdateResult updateById(MongoTemplate mongoTemplate,Object data);
/**
* 修改全部属性
* @author: fallsea
* @param mongoTemplate
* @param data 数据对象
* @param collectionName 集合名称
* @return
*/
public static UpdateResult updateById(MongoTemplate mongoTemplate,Object data, String collectionName);
/**
* 修改不为空的属性
* @author: fallsea
* @param mongoTemplate
* @param data 数据对象
* @return
*/
public static UpdateResult updateSelectiveById(MongoTemplate mongoTemplate,Object data);
/**
* 修改不为空的属性
* @author: fallsea
* @param mongoTemplate
* @param data 数据对象
* @param collectionName 集合名称
* @return
*/
public static UpdateResult updateSelectiveById(MongoTemplate mongoTemplate,Object data, String collectionName);
/**
* 创建索引
* @param mongoTemplate
* @param collectionName 集合名称
* @param entityType 索引类
*/
public static void createIndexCreation(MongoTemplate mongoTemplate,String collectionName,Class<?> entityType);
}