Java连接MongoDB进行增删改查的操作

 更新时间:2017年05月24日 14:36:19   投稿:lqh  
这篇文章主要介绍了Java连接MongoDB进行增删改查的操作的相关资料,需要的朋友可以参考下

Java连接MongoDB进行增删改查的操作

1.创建数据库的连接,进行增删改查

(分别为接口和实现类)

package com.dao;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Repository;

import com.bean.Company;

@Repository
public class RepositoryImpl implements AbstractRepository {
  @Autowired
  private MongoTemplate mongoTemplate;

  // 查询所有数据
  public List<?> findAll(Class<?> entity) {
    return mongoTemplate.findAll(entity);
  }

  // 更新数据
  public Company findOne(String id, Class<?> entity) {
    return (Company) mongoTemplate.findOne(new Query(Criteria.where("id")
        .is(id)), entity);

  }

  // 添加到数据库
  public void updateEntity(Company company) {
    mongoTemplate.save(company);
  }

  // 删除选中的数据
  public void delete(String id, Class<Company> class1) {
    Criteria criteria = Criteria.where("id").in(id);
    if (criteria != null) {
      Query query = new Query(criteria);
      if (query != null && mongoTemplate.findOne(query, class1) != null)
        mongoTemplate.remove(mongoTemplate.findOne(query, class1));
    }

  }
  //增加到数据库
  public void insert(Company company) {
    mongoTemplate.insert(company);
    
  }

}

package com.dao;

import java.util.List;

import com.bean.Company;

public interface AbstractRepository {
  public List<?> findAll(Class<?> entity);
  
  public Company findOne(String id,Class<?> entity);

  public void updateEntity(Company company);

  public void delete(String id, Class<Company> class1);

  public void insert(Company company);
}

总结:与关系型数据库的连接一样,没有什么区别。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

相关文章

  • Mybatis 缓存原理及失效情况解析

    Mybatis 缓存原理及失效情况解析

    这篇文章主要介绍了Mybatis 缓存原理及失效情况解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-11-11
  • Mybatis基于TypeHandler实现敏感数据加密

    Mybatis基于TypeHandler实现敏感数据加密

    业务场景中经常会遇到诸如用户手机号,身份证号,银行卡号,邮箱,地址,密码等等信息,属于敏感信息,本文就来介绍一下Mybatis基于TypeHandler实现敏感数据加密,感兴趣的可以了解一下
    2023-10-10
  • Java中的cglib原理解析

    Java中的cglib原理解析

    这篇文章主要介绍了Java中的cglib原理解析,由于代理类继承了被代理类,所以调用sayHello()方法时会直接调用代理类的sayHello()方法,而在代理类的方法中,调用了Callback的逻辑,需要的朋友可以参考下
    2023-10-10
  • 浅谈Java的Synchronized锁原理和优化

    浅谈Java的Synchronized锁原理和优化

    这篇文章主要介绍了Java的Synchronized锁原理和优化,synchronized的作用是保证在同一时刻, 被修饰的代码块或方法只会有一个线程执行,以达到保证并发安全的效果,需要的朋友可以参考下
    2023-05-05
  • Java中的javaBean、vo、entity、domain和pojo

    Java中的javaBean、vo、entity、domain和pojo

    这篇文章主要介绍了Java中的javaBean、vo、entity、domain和pojo用法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • Java实现删除排序数组中重复元素的方法小结【三种方法比较】

    Java实现删除排序数组中重复元素的方法小结【三种方法比较】

    这篇文章主要介绍了Java实现删除排序数组中重复元素的方法,结合实例形式对比分析了三种常见的数组元素删除算法操作技巧,需要的朋友可以参考下
    2019-02-02
  • Spring boot中使用ElasticSearch的方法详解

    Spring boot中使用ElasticSearch的方法详解

    这篇文章主要给大家介绍了关于Spring boot中使用ElasticSearch的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-01-01
  • Idea jdk版本问题解决方案

    Idea jdk版本问题解决方案

    这篇文章主要介绍了Idea jdk版本问题解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • Java实现对中文字符串的排序功能实例代码

    Java实现对中文字符串的排序功能实例代码

    这篇文章主要介绍了Java实现中文字符串的排序功能实例代码的相关资料,需要的朋友可以参考下
    2016-04-04
  • MyBatis中一对多的xml配置方式(嵌套查询/嵌套结果)

    MyBatis中一对多的xml配置方式(嵌套查询/嵌套结果)

    这篇文章主要介绍了MyBatis中一对多的xml配置方式(嵌套查询/嵌套结果),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-03-03

最新评论