溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

springBoot(22):集成mongodb

發(fā)布時(shí)間:2020-07-28 09:41:44 來(lái)源:網(wǎng)絡(luò) 閱讀:482 作者:我愛(ài)大金子 欄目:MongoDB數(shù)據(jù)庫(kù)

一、添加依賴

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

二、配置application.properties

###########################mongodb開始####################################
spring.data.mongodb.host=localhost
spring.data.mongodb.port=27017
spring.data.mongodb.database=db_test
###########################mongodb結(jié)束####################################

三、創(chuàng)建實(shí)體類

package com.example.demo.pojo;

import java.util.Date;

/**
 * 用戶信息
 *
 * @Author: 我愛(ài)大金子
 * @Description: 用戶信息
 * @Date: Create in 14:09 2017/7/5
 */
public class User {
   private int id;
   private String name;
   private Date createTime;

   public int getId() {
      return id;
   }

   public void setId(int id) {
      this.id = id;
   }

   public String getName() {
      return name;
   }

   public void setName(String name) {
      this.name = name;
   }

   public Date getCreateTime() {
      return createTime;
   }

   public void setCreateTime(Date createTime) {
      this.createTime = createTime;
   }

   @Override
   public String toString() {
      return "User{" +
            "id=" + id +
            ", name='" + name + '\'' +
            ", createTime=" + createTime +
            '}';
   }
}

四、使用MongoTemplate實(shí)現(xiàn)

MongodbComponent.java

package com.example.demo.utils.component;

import com.example.demo.pojo.User;
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.data.mongodb.core.query.Update;
import org.springframework.stereotype.Component;

/**
 * Mongodb工具類
 *
 * @Author: 我愛(ài)大金子
 * @Description: Mongodb工具類
 * @Date: Create in 13:48 2017/7/5
 */
@Component
public class MongodbComponent {
    @Autowired
    private MongoTemplate mongoTemplate;

    public void insert(User user) {
        mongoTemplate.insert(user);
    }

    public void deleteById(int id) {
        Criteria criteria = Criteria.where("id").in(id);
        Query query = new Query(criteria);
        mongoTemplate.remove(query, User.class);
    }

    public void updateById(User user) {
        Criteria criteria = Criteria.where("id").in(user.getId());
        Query query = new Query(criteria);
        Update update = new Update();
        update.set("name", user.getName());
        update.set("createTime", user.getCreateTime());
        mongoTemplate.updateMulti(query, update, User.class);
    }

    public User selectById(int id) {
        Criteria criteria = Criteria.where("id").in(id);
        Query query = new Query(criteria);
        return mongoTemplate.findOne(query, User.class);
    }
}

MongoTemplateTest.java(測(cè)試)

package com.example.demo;

import com.example.demo.pojo.User;
import com.example.demo.utils.component.MongodbComponent;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;

import java.util.Date;

/**
 * MongoTemplate測(cè)試
 *
 * @Author: 我愛(ài)大金子
 * @Description: MongoTemplate測(cè)試
 * @Date: Create in 13:54 2017/7/5
 */
public class MongoTemplateTest extends ApplicationTests {
    @Autowired
    private MongodbComponent mongodbComponent;
    @Test
    public void insert() {
        User user = new User();
        user.setId(1);
        user.setName("張三");
        user.setCreateTime(new Date());
        mongodbComponent.insert(user);
    }
    @Test
    public void select() {
        System.out.println(mongodbComponent.selectById(1));
    }

    @Test
    public void update() {
        User user = new User();
        user.setId(1);
        user.setName("李四");
        user.setCreateTime(new Date());
        mongodbComponent.updateById(user);
        System.out.println(mongodbComponent.selectById(1));
    }
    @Test
    public void delete() {
        mongodbComponent.deleteById(1);
    }
}

五、使用接口繼承MongoRepository

UserDao.java

package com.example.demo.dao;

import com.example.demo.pojo.User;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.mongodb.repository.MongoRepository;

import java.util.List;

/**
 * 用戶dao
 *
 * @Author: 我愛(ài)大金子
 * @Description: 用戶dao
 * @Date: Create in 14:09 2017/7/5
 */
public interface UserDao extends MongoRepository<User, Integer> {
    /**
     * 根據(jù)名稱查找
     * @Author: 我愛(ài)大金子
     * @Description: 根據(jù)名稱查找
     * @Date: 14:12 2017/7/5
     * @param name 名稱
     * @return
     */
    List<User> findByName(String name);

    /**
     * 根據(jù)名稱分頁(yè)查詢
     * @Author: 我愛(ài)大金子
     * @Description: 分頁(yè)查詢
     * @Date: 14:15 2017/7/5
     * @param  name 名稱
     * @param pageable 分頁(yè)參數(shù)
     * @return
     */
    Page<User> findByName(String name, Pageable pageable);
}

測(cè)試:

springBoot(22):集成mongodb


向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI