发财致富 發表於 2021-4-30 16:23:00

Springboot整合mongodb

<p>什么时候用mongodb?</p>
<p>在数据量大,高并发的情况下可以使用mongodb,另外mongodb可以用来存储对象</p>
<p>首先看下mongodb和sql概念的一些不同<br>
<img src="https://img2020.cnblogs.com/blog/2324742/202104/2324742-20210430143354712-718415740.png" alt="" loading="lazy"><br>
monogodb内的数据是以bson(类似于json)的形式存储,每个文档都是一个json</p>
<p>1.引入依赖</p>
<pre><code class="language-java">      &lt;dependency&gt;
            &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;
            &lt;artifactId&gt;spring-boot-starter-data-mongodb&lt;/artifactId&gt;
      &lt;/dependency&gt;
</code></pre>
<p>2.添加配置<br>
注意mongodb默认端口号为test</p>
<pre><code class="language-yml">spring:
    data:
      mongodb:
          uri: mongodb://localhost:27017/test
</code></pre>
<p>3.创建实体类对应一个集合,实体类的一个对象对应一条数据</p>
<pre><code class="language-java">@Document("User")//指明实体类对应mongodb的哪个集合
public class User{
@Id //加入mongodb时会自动生成id
private Integer Id;
private String name;
private String age;
...省略构造器,get/set方法
}
</code></pre>
<p>4.MongoTemplate</p>
<pre><code class="language-java">public class test{
@AutoWired
private MongoTemplate mongoTemplate;
public void test(){
User user=new User();
mongoTemplate.insert(user);//插入数据,会自动插入到对应的集合中
List&lt;User&gt; list=mongoTemplate.findAll(User.class);//查询集合的所有数据
User user=mongoTemplate.findById(id,User.class);//根据id查询

Query query=new Query(Criteria.where("name").is("wang").and("age").is("20"));//Query是条件构造器,这个条件代表name是wang,age是20
mongoTemplate.find(query,User.class);//条件查询
mongoTemplate.find(query.skip((curPage-1)*size).limit(size),User.class);//分页查询,query.skip((curPage-1)*size).limit(size)表示跳过(当前页-1)*每页的大小条数据,输出size条数据

Update update=new Update();
update.set("name","li");
UpdateResult upsert=mongoTemplate.upsert(query,update,User.class);//修改,跟别的不同的是修改需要把修改的内容传递给一个Update对象
Long count1=upsert.getModifiedCount();//得到受影响的数据数


DeleteResult remove=mongoTemplate.remove(query,User.class);//删除
Long count2=remove.getModifiedCount();//得到受影响的数据数
}

}</code></pre>


</div>
<div id="MySignature" role="contentinfo">
    我有一壶酒
足以慰风尘
尽倾江海里
赠饮天下人<br><br>
来源:https://www.cnblogs.com/wangstudyblog/p/14722479.html
頁: [1]
查看完整版本: Springboot整合mongodb