本文共 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(){ ListorderList=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; }
转载地址:http://uauzz.baihongyu.com/