登录    关于
马育民老师的博客

马育民的博客

QQ:65242847

springboot 使用 Spring Data Elasticsearch 添加文档、删除文档、简单查询文档

上接:springboot 使用 Spring Data Elasticsearch 操作 Elasticsearch 7.9-创建工程

文档操作

package top.malaoshi;

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.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Sort;
import org.springframework.data.elasticsearch.core.ElasticsearchRestTemplate;
import org.springframework.test.context.junit4.SpringRunner;
import top.malaoshi.es.dao.ToutiaoDao;
import top.malaoshi.es.entity.Toutiao;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.UUID;

@RunWith(SpringRunner.class)
@SpringBootTest
public class TestDoc {
    @Autowired
    private ToutiaoDao toutiaoDao;

    /**
     * 新增
     */
    @Test
    public void save(){
        Toutiao toutiao = new Toutiao();
        toutiao.setId("123");
        toutiao.setTitle("华为手机");
        toutiao.setContent("华为手机就是好");
        toutiao.setType("手机");
        toutiao.setAuthor("路人甲");
        toutiao.setLike(50);
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
        String date=sdf.format(new Date());
        toutiao.setDate(date);
        toutiaoDao.save(toutiao);
    }
    //修改和新增是同一个接口,区分的依据就是 id
    @Test
    public void update(){
        Toutiao toutiao = new Toutiao();
        toutiao.setId("123");
        toutiao.setTitle("华为手机");
        toutiao.setContent("华为手机好,very good");
        toutiao.setTitle("手机");
        toutiao.setAuthor("路人甲");
        toutiao.setLike(50);
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
        String date=sdf.format(new Date());
        toutiao.setDate(date);
        toutiaoDao.save(toutiao);
    }
    //根据 id 查询
    @Test
    public void findById(){
        Toutiao product = toutiaoDao.findById("123").get();
        System.out.println(product);
    }

    @Test
    public void findAll(){
        Iterable<Toutiao> it = toutiaoDao.findAll();
        for (Toutiao item : it) {
            System.out.println(item);
        }
    }
    //删除
    @Test
    public void delete(){
//        Toutiao toutiao = new Toutiao();
//        toutiao.setId("123");
//        toutiaoDao.delete(toutiao);
        toutiaoDao.deleteById("123");
//        toutiaoDao.deleteAll();
    }
    //批量新增
    @Test
    public void saveAll(){
        List<Toutiao> list = new ArrayList<>();
        for (int i = 0; i < 10; i++) {
            String uuid= UUID.randomUUID().toString().replace("-","");
            Toutiao product = new Toutiao();
            product.setId(uuid);
            product.setTitle("["+i+"]小米手机");
            list.add(product);
        }
        toutiaoDao.saveAll(list);
    }
    //分页查询
    @Test
    public void findByPageable(){
        //设置排序(排序方式,正序还是倒序,排序的 id)
        Sort sort = Sort.by(Sort.Direction.DESC,"date");
        int currentPage=0;//当前页,第一页从 0 开始,1 表示第二页
        int pageSize = 5;//每页显示多少条
        //设置查询分页
        PageRequest pageRequest = PageRequest.of(currentPage, pageSize,sort);
        //分页查询
        Page<Toutiao> page = toutiaoDao.findAll(pageRequest);
        for (Toutiao item : page.getContent()) {
            System.out.println(item);
        }
    }
}

原文出处:https://malaoshi.top/show_1IX1tOSzUNlM.html