Spring Data 与MongoDB 集成二:操作篇(添加和删除)
一、简介
二、MongDB文档数据库:添加
1)void save (Object objectToSave) 保存文档到默认的集合。
2)void save(Object objectToSave, String collectionName) 对指定的集合进行保存。
insert方式:
1)void insert(Object objectToSave) 保存文档到默认的集合。
2)void insertAll(Object objectsToSave) 批量添加到默认的集合。
3)void insert(Object objectToSave, String collectionName) 对指定的集合进行保存。
2、spring-data-mongodb 实现对mongodb添加操作。
1)、实现一个基础通用接口,MongoBase<T>类文件
public interface MongoBase<T> {
// insert添加
public void insert(T object,String collectionName);
// save添加
public void save(T object,String collectionName);
//批量添加
public void insertAll(List<T> object);
}
2)、实现文档数据库结构体,(java实体对象)
/**
* 订单
* @author zhengcy
*
*/
public class Orders implements Serializable {
/**
*
*/
private static final long serialVersionUID = 1L;
//ID
private String id;
//订单号
private String onumber;
//日期
private Date date;
//客户名称
private String cname;
//订单
private List<Item> items;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public Date getDate() {
return date;
}
public void setDate(Date date) {
this.date = date;
}
public String getCname() {
return cname;
}
public void setCname(String cname) {
this.cname = cname;
}
public String getOnumber() {
return onumber;
}
public void setOnumber(String onumber) {
this.onumber = onumber;
}
public List<Item> getItems() {
return items;
}
public void setItems(List<Item> items) {
this.items = items;
}
}
/**
* 产品订购表
* @author zhengcy
*
*/
public class Item {
//数量
private Integer quantity;
//单价
private Double price;
//产品编码
private String pnumber;
public Integer getQuantity() {
return quantity;
}
public void setQuantity(Integer quantity) {
this.quantity = quantity;
}
public Double getPrice() {
return price;
}
public void setPrice(Double price) {
this.price = price;
}
public String getPnumber() {
return pnumber;
}
public void setPnumber(String pnumber) {
this.pnumber = pnumber;
}
}
/**
* 订单Dao
* @author zhengcy
*
*/
public interface OrdersDao extends MongoBase<Orders> {
}
4)、 实现OrdersDaoImpl具体类。
/**
* 订单实现
* @author zhengcy
*
*/
@Repository("ordersDao")
public class OrdersDaoImpl implements OrdersDao {
@Resource
private MongoTemplate mongoTemplate;
@Override
public void insert(Orders object, String collectionName) {
mongoTemplate.insert(object, collectionName);
}
@Override
public void save(Orders object, String collectionName) {
mongoTemplate.save(object, collectionName);
}
@Override
public void insertAll(List<Orders> objects) {
mongoTemplate.insertAll(objects);
}
}
5)、测试代码就不粘贴出来了,大家可以通过junit4,进行相关的功能测试。
三、MongDB文档数据库:删除
/**
* 根据条件 删除
*
* @param query
*/
public void remove(Query query);
第二步: 我们在OrdersDaoImpl类添加一个具体根据条件删除文档的实现方法。
public void remove(Query query) {
mongoTemplate.remove(query, this.getEntityClass());
}
//删除集合
public void dropCollection(String collectionName);
@Override
public void dropCollection(String collectionName) {
mongoTemplate.dropCollection(collectionName);
}
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。