springboot-es 单条数据的修改与批量数据修改
发布日期:2021-05-08 17:37:00 浏览次数:18 分类:精选文章

本文共 2787 字,大约阅读时间需要 9 分钟。

一.单条:通过主键id,直接对修改字段进行操作即可,不用再附带已有值和修改字段一起修改。

public void updateInfo(){        String id="344364895434851641";        OrderDetailEntity od= orderService.queryOrderDetailEntityById(id);        if(od==null){            System.out.println("od为null");        }        System.out.println("od "+od.getOrderNo()+" id:"+od.getId());       // od.setMiAmount(new BigDecimal(0));        //od.setPayMethod(7);       // od.setPayMoney(new BigDecimal(1.5));        //341224197805034914        od.setIdCard("341224197805034914");        od.setRegisterTime(new Date());        od.setAnalysisFlag(1);        orderService.add(od);    }   /**     * 添加     * @param oe     */   public void add(OrderDetailEntity oe){       ordersSearchRepository.save(oe);   }

二。批量修改:使用主键更新,携带修改的字段即可

public void batchUpdataData(){  List
orderList=new ArrayList
(); OrderDetailEntity ot1=new OrderDetailEntity(); ot1.setOrderNo("344363949099720272"); ot1.setIdCard("210204199303306485"); ot1.setRegisterTime(new Date()); ot1.setAnalysisFlag(1); orderList.add(ot1); OrderDetailEntity ot2=new OrderDetailEntity(); ot2.setOrderNo("344371376360840270"); ot2.setIdCard("500222199801010320"); ot2.setRegisterTime(new Date()); ot2.setAnalysisFlag(1); orderList.add(ot2); OrderDetailEntity ot3=new OrderDetailEntity(); ot3.setOrderNo("344337535029511645"); ot3.setIdCard("210202199505250720");//344337535029511645 ot3.setRegisterTime(new Date()); ot3.setAnalysisFlag(1); orderList.add(ot3); orderService.bulkUpdateData(orderList); } /** * 批量修改 * @param orderNoList */ @Override public void bulkUpdateData(List
orderNoList) { List
updateList = new ArrayList
(); for(OrderDetailEntity orderDetailEntity:orderNoList){ IndexRequest indexRequest = new IndexRequest(); Map
map=new HashMap
(); map.put("idCard",orderDetailEntity.getIdCard()); map.put("registerTime",new Date().getTime()); map.put("analysisFlag", orderDetailEntity.getAnalysisFlag()); System.out.println("orderno:"+orderDetailEntity.getOrderNo()); //这里只能用map,不能json串 indexRequest.source(map); UpdateQuery updateQuery = new UpdateQueryBuilder().withId(orderDetailEntity.getOrderNo()) .withClass(OrderDetailEntity.class).withIndexRequest(indexRequest).build(); updateList.add(updateQuery); } // when elasticsearchTemplate.bulkUpdate(updateList); elasticsearchTemplate.refresh(OrderDetailEntity.class); System.out.println("修改完成!!!"); } private
Map
beanToMap(T bean){ Map
map = new HashMap
();; if (null != bean){ BeanMap beanMap = BeanMap.create(bean); for (Object key : beanMap.keySet()){ map.put(key+"",beanMap.get(key)); } } return map; }

 

上一篇:es中值为null和值为“”的查询
下一篇:mysql 截取身份证号,计算年龄

发表评论

最新留言

关注你微信了!
[***.104.42.241]2025年04月01日 13时37分23秒