Cassandra1 - srujanabala/springboot-couchbase GitHub Wiki

  1. Add below columns in the Student class @Column private Set sets;

    @Column private List lists;

    @Column private Map<Integer, String> maps;

  2. Add below methods in Repository class @Query(value = "UPDATE mytest1 SET sets = sets + ?0 where name = ?1 ALLOW FILTERING") Optional addSetStudent(Set valueSet, String name);

    @Query(value = "UPDATE mytest1 SET sets = sets - ?0 where name = ?1 ALLOW FILTERING") Optional subtractSetStudent(Set valueSet, String name);

    @Query(value = "UPDATE mytest1 SET lists = lists + ?0 where name = ?1 ALLOW FILTERING") Optional addListStudent(List valueList, String name);

    @Query(value = "UPDATE mytest1 SET lists = lists - ?0 where name = ?1 ALLOW FILTERING") Optional subtractListStudent(List valueList, String name);

    @Query(value = "UPDATE mytest1 SET maps = maps + ?0 where name = ?1 ALLOW FILTERING") Optional addMapStudent(Map<Integer, String> valueMap, String name);

    @Query(value = "UPDATE mytest1 SET maps = maps - ?0 where name = ?1 ALLOW FILTERING") Optional subtractMapStudent(Map<Integer, String> valueMap, String name);

  3. Add below methods in controller class

    @PutMapping(value = "/add/set", consumes = MediaType.APPLICATION_JSON_VALUE) public Student addSet(@RequestBody Student student) { if(userRepo.findStudentByName(student.getName()).isPresent()) { Set sets = new HashSet<>(); sets.add("1");sets.add("2");sets.add("3"); return userRepo.addSetStudent(sets, student.getName()).orElse(null); }else { System.out.println("Data not found"); return null; } }

    @PutMapping(value = "/remove/set", consumes = MediaType.APPLICATION_JSON_VALUE) public Student removeSet(@RequestBody Student student) { if(userRepo.findStudentByName(student.getName()).isPresent()) { Set sets = new HashSet<>(); sets.add("1");sets.add("2");sets.add("3"); return userRepo.subtractSetStudent(sets, student.getName()).orElse(null); }else { System.out.println("Data not found"); return null; } }

    @PutMapping(value = "/add/list", consumes = MediaType.APPLICATION_JSON_VALUE) public Student addList(@RequestBody Student student) { if(userRepo.findStudentByName(student.getName()).isPresent()) { List list = Arrays.asList("A","B"); return userRepo.addListStudent(list, student.getName()).orElse(null); }else { System.out.println("Data not found"); return null; } }

    @PutMapping(value = "/remove/list", consumes = MediaType.APPLICATION_JSON_VALUE) public Student removeList(@RequestBody Student student) { if(userRepo.findStudentByName(student.getName()).isPresent()) { List list = Arrays.asList("C"); return userRepo.subtractListStudent(list, student.getName()).orElse(null); }else { System.out.println("Data not found"); return null; } }

    @PutMapping(value = "/add/Map", consumes = MediaType.APPLICATION_JSON_VALUE) public Student addMap(@RequestBody Student student) { if(userRepo.findStudentByName(student.getName()).isPresent()) { Map<Integer, String> valueMap = new HashMap<>(); valueMap.put(1, "first"); return userRepo.addMapStudent(valueMap, student.getName()).orElse(null); }else { System.out.println("Data not found"); return null; } }

    @PutMapping(value = "/remove/Map", consumes = MediaType.APPLICATION_JSON_VALUE) public Student removeMap(@RequestBody Student student) { if(userRepo.findStudentByName(student.getName()).isPresent()) { Map<Integer, String> valueMap = new HashMap<>(); valueMap.put(5, "five"); return userRepo.subtractMapStudent(valueMap, student.getName()).orElse(null); }else { System.out.println("Data not found"); return null; } }1. In repository class @Query(value ="SELECT WRITETIME (name) FROM mytest1 WHERE name=?0 ALLOW FILTERING") Long getTimeStamp(String name);

  4. In controller class @GetMapping("get/timestamp") public Long getLastUpdatedTimeStamp(@PathVariable("name")final String name) { return userRepo.getTimeStamp(name); }

⚠️ **GitHub.com Fallback** ⚠️