java mongodb怎删改查_使用SpringMVC实现对MongoDB简单的增删改查

本文介绍了如何在SpringMVC环境中使用SpringDataMongoDB对MongoDB进行操作,包括添加maven依赖、配置MongoDB、创建实体类、执行增删改查操作,详细展示了在Java中实现MongoDB数据操作的过程。

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

之前我们介绍了MongoDB以及如何在Robo 3T中通过图形化界面或是在Shell中通过nosql语句进行增删改查,但是在实际应用中,我们不太会通过这两种方式来对MongoDB进行操作,接下来我们将介绍更为实用的方式,即在SpringMVC中实现对MongoDB的增删改查。

一、搭建SpringMVC工程

这里我们使用的IDE是IntelliJ IDEA,通过创建maven工程来搭建SpringMVC。

如何搭建SpringMVC不是我们的重点,并且已有许多相关资料,因此这里不再介绍。下面的工作基于已经成功在maven工程中搭建好了SpringMVC。

二、添加maven依赖

我们使用Spring Data MongoDB来操作MongoDB,因此需要先在maven的pom.xml中添加相关依赖,并同步。

org.springframework.data

spring-data-commons

1.7.2.RELEASE

org.springframework.data

spring-data-mongodb

1.4.2.RELEASE

org.mongodb

mongo-java-driver

2.10.1

三、MongoDB配置类

@Configuration

public class MongoConfig {

//MongoClient bean

@Bean

public MongoFactoryBean mongo(){

MongoFactoryBean mongo = new MongoFactoryBean();

mongo.setHost("localhost");

return mongo;

}

//MongoTemplate bean

@Bean

public MongoOperations mongoTemplate(Mongo mongo){

return new MongoTemplate(mongo,"test1");//指定数据库名称

}

}

四、创建实体类(对应Document)

@Document

public class Order {

@Id

private String id;

private String customer;

private Collection items = new LinkedHashSet();

public void setCustomer(String customer){

this.customer = customer;

}

public String getCustomer() {return customer;}

public String getId(){

return id;

}

public void setItem(Collection items){

this.items = items;

}

public Collection getItems(){

return items;

}

}

五、创建子实体类(对应一个Document下的子Document)

public class Item {

private Long itemID;

private Order order;

private String product;

private double price;

private int quantity;

public Long getItemID(){

return itemID;

}

public Order getOrder(){

return order;

}

public String getProduct(){

return product;

}

public double getPrice(){

return price;

}

public int getQuantity(){

return quantity;

}

public void setItemID(Long itemID){

this.itemID = itemID;

}

public void setProduct(String product){

this.product = product;

}

public void setPrice(double price){

this.price = price;

}

public void setQuantity(int quantity){

this.quantity = quantity;

}

}

六、插入

@Test

public void insertTest() throws Exception{

Order order = new Order();

Item item1 = new Item();

item1.setItemID((long) 1);

item1.setPrice(100);

item1.setQuantity(10);

item1.setProduct("Cup");

Item item2 = new Item();

item2.setItemID((long) 2);

item2.setPrice(50);

item2.setQuantity(5);

item2.setProduct("Desk");

order.setCustomer("Tom");

Collection ItemCollection = new LinkedHashSet();

ItemCollection.add(item1);

ItemCollection.add(item2);

order.setItem(ItemCollection);

mongo.save(order,"order");//在名为order的collection下增加一个Document,若没有名为order的collection,则自动创建

}

运行测试。

941a9ec2a93c

插入

七、查询

统计一个collection下的Document数。

long orderCount = mongo.getCollection("order").count();//统计一个collection下的文档数

根据Id查找。(最后一个参数"order"是collection名,可省略,下同)

String orderID = "5a747fa9a80e7722bfcbb372";

Order order1 = mongo.findById(orderID,Order.class,"order");//根据ID查找

查询。

List OrderList = mongo.find(Query.query(Criteria.where("customer").is("Tom")),Order.class,"order");//通过构造Query对象进行查询

多条件查询。

List OrderList1 = mongo.find(Query.query(Criteria.where("customer").is("Tom").and("sex").is("man")),Order.class,"order");//多条件查询

八、删除

删除order1对象在数据库中对应的Document。

mongo.remove(order1,"order");//删除对象(先要进行查找)

九、修改

将含有"customer":"Tom"的Document中的"customer":"Tom"改为"customer":"Mike"。

mongo.updateMulti(Query.query(Criteria.where("customer").is("Tom")), Update.update("customer","Tom").set("customer","Mike"),Order.class,"order");//改

如果只修改一个Document,可将updateMulti()方法改成updateFirst()方法。

到这里,使用SpringMVC实现对MongoDB简单的增删改查就讲完啦。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值