转载自:https://www.jianshu.com/p/f47621a224a6
MongoRepository有以下方法
以下演示方法的使用,实际上方法传参方式就几个,可以举一反三,以上方法都可以自己尝试使用。
//插入文档中嵌入一个文档 @Test public void insertMany() { Users users=new Users(); Info info=new Info(); String []sport={"run","basketball"}; String []address={"hunan","beijing"}; info.setSport(sport); info.setAddress(address); users.setUsername("xiaohao999"); users.setPhone("183xxxxxxxxx"); users.setInfo(info); Users insert = usersRepository.insert(users); System.out.println(insert); } //批量插入 @Test public void insertList() { List<Users> list = new ArrayList<>(); for (int i = 1; i <= 100; i++) { Users users = new Users(); users.setAddress("湖南"); users.setHeadImg(""); users.setPassword("xxxxxxx"); users.setPhone("183xxxxxxx"); users.setUsername("xiaohao" + i); list.add(users); } usersRepository.insert(list); } //查询全部 @Test public void findALL() { List<Users> all = usersRepository.findAll(); for (Users users : all) { System.out.println(users); } } //查询条数 @Test public void count() { long count = usersRepository.count(); System.out.println(count); } //条件统计条数 @Test public void countByExample() { Users users = new Users(); users.setUsername("xiaohao55"); Example<Users> usersExample = Example.of(users); long count = usersRepository.count(usersExample); System.out.println(count); } @Test public void exists() { Users users = new Users(); users.setUsername("xiaohao"); Example<Users> usersExample = Example.of(users); boolean exists = usersRepository.exists(usersExample); System.out.println(exists); } @Test public void existsById() { String id = "5d36d565bde542361407adfb"; boolean exists = usersRepository.existsById(id); System.out.println(exists); } //查询喜欢运动中有跑步,和篮球的用户 @Test public void findExample(){ Users users=new Users(); Info info =new Info(); info.setSport(new String[]{"run","basketball"}); users.setInfo(info); Example example=Example.of(users); Optional one = usersRepository.findOne(example); usersRepository.sa Users user = (Users) one.get(); System.out.println(user); } //排序查询,这里查找姓名按照一个个字段逐一比较 @Test public void findBySort() { Sort sort = new Sort(Sort.Direction.DESC, "username"); List<Users> all = usersRepository.findAll(sort); for (Users users : all) { System.out.println(users); } } //获取表中所有的数据,分页查询 pageAble @Test public void findByPageable() { int page = 2; int size = 100; Pageable pageable = new PageRequest(page, size); Page<Users> all = usersRepository.findAll(pageable); for (Users users : all) { System.out.println(users); } } //批量查询 @Test public void findByList() { List<String> ids = new ArrayList<>(); ids.add("5d36d565bde542361407adfb"); ids.add("5d36d7e0bde5420f34116904"); Iterable<Users> allById = usersRepository.findAllById(ids); for (Users users:allById ){ System.out.println(users); } } // //利用save更新 @Test public void save() { Users users= new Users(); users.setId("5d36d565bde542361407adfb"); users.setUsername("shawn"); usersRepository.save(users); } //添加一个新字段,(user其他字段不能传空,否则将只有这个字段) @Test public void saveNew1() { Users users= new Users(); users.setId("5d36d565bde542361407adfb"); users.setUsername("shawn"); users.setAge("22"); usersRepository.save(users); } //添加一个新字段,其他的不修改可以先查询 @Test public void saveNew2() { String id="5d36d7e0bde5420f34116904"; Optional<Users> byId = usersRepository.findById(id); Users users = byId.get(); users.setUsername("shawn"); System.out.println(users); usersRepository.save(users); }
