springboot java對Mongo進行增刪改查

 
jar包  
compile('org.springframework.boot:spring-boot-starter-data-mongodb')
package cn.com.open.errorquestion.service;import cn.com.open.errorquestion.model.ErrorQuestion;import cn.com.open.errorquestion.model.MGQuestionLog;import cn.com.open.errorquestion.vo.ErrorQuestionVo;import com.alibaba.fastjson.JSON;import org.junit.Test;import org.junit.runner.RunWith;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.boot.test.context.SpringBootTest;import org.springframework.data.domain.Sort;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.test.context.TestExecutionListeners;import org.springframework.test.context.junit4.SpringRunner;import org.springframework.test.context.support.DependencyInjectionTestExecutionListener;import org.springframework.test.context.transaction.TransactionalTestExecutionListener;import org.springframework.transaction.annotation.Transactional;import java.util.ArrayList;import java.util.List;@RunWith(SpringRunner.class)@TestExecutionListeners(listeners = {TransactionalTestExecutionListener.class, DependencyInjectionTestExecutionListener.class})@SpringBootTest@Transactionalpublic class MongoServiceTest {    @Autowired    private MongoTemplate mongoTemplate;    @Autowired    private ErrorQuestionService errorQuestionService;    @Test    public void insert(){        List<ErrorQuestionVo> list = errorQuestionService.list();//        mongoTemplate.save(errorQuestionVo);        mongoTemplate.insertAll(list);    }    @Test    public void findList(){        List<ErrorQuestionVo> errorQuestionVo = mongoTemplate.findAll(ErrorQuestionVo.class);        System.out.println(JSON.toJSONString(errorQuestionVo));    }    @Test    public void findOne(){        ErrorQuestionVo errorQuestionVo = errorQuestionService.list().get(0);        Query query = new Query(Criteria.where("id").is(errorQuestionVo.getId()));        ErrorQuestionVo one = mongoTemplate.findOne(query, ErrorQuestionVo.class);        System.out.println(JSON.toJSONString(one));    }    @Test    public void update(){        ErrorQuestionVo errorQuestionVo = errorQuestionService.list().get(0);        Query query = new Query(Criteria.where("id").is(errorQuestionVo.getId()));        Update update = new Update().set("answerDetail","修改測試answerDetail");        mongoTemplate.updateFirst(query,update,ErrorQuestionVo.class);    }    @Test    public void delete(){        List<ErrorQuestionVo> list1 = errorQuestionService.list();        List<Long> list = new ArrayList<>();        for (ErrorQuestionVo e: list1) {            list.add(e.getId());        }        Query query = new Query(Criteria.where("id").in(list));        mongoTemplate.findAllAndRemove(query,ErrorQuestionVo.class);    }    @Test    public void common(){        mongoTemplate.dropCollection(ErrorQuestionVo.class);    }    @Test    public void findPager(){        int pageNum = 1;        int pageSize = 10;        Query query = new Query();        //多條件查詢//        Criteria criteria = new Criteria();////        criteria.andOperator(////                Criteria.where("id").is(""),////                Criteria.where("").is(""),////                Criteria.where("").is(""));////        query.addCriteria(criteria);        //排序//        List<Sort.Order> orders = new ArrayList<>();//        orders.add(new Sort.Order(Sort.Direction.DESC,"id"));//        query.with(new Sort(orders));        //分頁        query.skip(pageSize * (pageNum - 1)).limit(pageSize);        //查詢//        List<ErrorQuestionVo> errorQuestions = mongoTemplate.find(query, ErrorQuestionVo.class);        List<MGQuestionLog> errorQuestions = mongoTemplate.find(query, MGQuestionLog.class);        System.out.println(JSON.toJSONString(errorQuestions).toString());    }}
相關文章
相關標籤/搜索