mongoDB的简单使用

本文介绍了在JAVA中使用mongodb的基本步骤,包括导入依赖、配置文件设置、创建实体类、编写工具类以及利用MongoRepository进行数据操作。详细讲解了如何构建精准和模糊查询条件,以及排序方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JAVA中mongodb的简单使用

1.导入依赖

<dependency>
    <groupId>org.springframework.data</groupId>
    <artifactId>spring-data-mongodb</artifactId>
</dependency>
<dependency>
	<groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-mongodb</artifactId>
    <scope>provided</scope>
</dependency>

2.配置文件

spring:
  # mongodb
  data:
    mongodb:
      port: 27017
      username: xxx
      password: xxxxxx
      authentication-database: admin
      host: xxx
      database: xxx

3.对应实体类(注释@Document)

@Document
@Data
@Accessors(chain = true)
public class ResourcesCatalog implements Serializable {

    @Id
    @ApiModelProperty(value = "目录id")
    private String catalogId;

    @ApiModelProperty(value = "资源目录名称")
    private String catalogName;

    @ApiModelProperty(value = "资源目录英文名称")
    private String catalogEnglishName;

    @ApiModelProperty(value = "资源摘要")
    private String catalogAbstract;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value = "创建时间")
    private LocalDateTime createTime;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value = "更新时间")
    private LocalDateTime updateTime;
}

4.工具类

@Resource
private MongoTemplate mongoTemplate;

工具类对应方法

常用方法
mongoTemplate.findOne(query, ResourcesCatalog.class); 查询符合条件的ResourcesCatalog文档数据
mongoTemplate.findAll(ResourcesCatalog.class): 查询ResourcesCatalog文档的全部数据
mongoTemplate.findById(<id>, ResourcesCatalog.class): 查询ResourcesCatalog文档id为id的数据
mongoTemplate.find(query, ResourcesCatalog.class);: 根据query内的查询条件查询
mongoTemplate.upsert(query, update, ResourcesCatalog.class): 修改
mongoTemplate.remove(query, ResourcesCatalog.class): 删除
mongoTemplate.insert(resourcesCatalog): 新增

Query
1 创建一个query对象(用来封装所有条件对象),再创建一个criteria对象(用来构建条件)
2 精准条件:criteria.and(“key”).is(“条件”)
模糊条件:criteria.and(“key”).regex(“条件”)
3、封装条件:query.addCriteria(criteria)
4、大于(创建新的criteria):Criteria gt = Criteria.where(“key”).gt(“条件”)
小于(创建新的criteria):Criteria lt = Criteria.where(“key”).lt(“条件”)
5、Query.addCriteria(new Criteria().andOperator(gt,lt));
6、一个query中只能有一个andOperator()。其参数也可以是Criteria数组。
7、排序 :query.with(new Sort(Sort.Direction.ASC, “age”). and(new Sort(Sort.Direction.DESC, “date”)))

举例

Query query = new Query(Criteria.where("applicationCode").is(null));
query.addCriteria(Criteria.where("deptOrg").is(deptCode));
query.with(pageable);

使用

int count = (int) mongoTemplate.count(query, ResourcesCatalog.class);
List<ResourcesCatalog> catalogList = mongoTemplate.find(query, ResourcesCatalog.class);
Page<UpdateSystemDirDTO> page = PageableExecutionUtils.getPage(dtoList, pageable, () -> count);

5.MongoRepository的使用

定义

public interface CatalogRepository extends MongoRepository<ResourcesCatalog, String> {
}

注入

@Resource
private CatalogRepository catalogRepository;

使用

//更新目录
catalogRepository.save(one);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值