@TestpublicvoidtestFind(){// select * from users where favorites.cites has "东莞"、"东京"
Criteria all =where("favorites.cites").all(Arrays.asList("东莞","东京"));
List<User> find = template.find(query(all), User.class);
System.out.println(find.size());for(User user : find){
System.out.println("user->"+ user);}// select * from users where username like '%s%' and (contry= EngLish or contry = USA)
String regexStr =".*s.*";// username like '%s%'
Criteria regex =where("username").regex(regexStr);// country = English
Criteria or1 =where("country").is("English");// country = USA
Criteria or2 =where("country").is("USA");
Criteria or =newCriteria().orOperator(or1, or2);
Query query =query(newCriteria().andOperator(regex, or));
List<User> find2 = template.find(query, User.class);
System.out.println(find.size());for(User user : find2){
System.out.println(user);}}
6.修改
@TestpublicvoidtestUpdate(){// update users set age=6 where username = 'lison'
Query query =query(where("username").is("lison"));
Update update =update("age",6);
WriteResult updateFirst = template.updateMulti(query, update, User.class);// update users set favorites.movies add "小电影2 ", "小电影3" where favorites.cites has "东莞"
query =query(where("favorites.cites").is("东莞"));
update =newUpdate().addToSet("favorites.cites").each("小电影2","小电影3");
WriteResult updateMulti = template.updateMulti(query, update, User.class);
System.out.println("--------------------->"+ updateMulti.getN());}
7.删除
@TestpublicvoidtestDelete(){// delete from users where username = 'lison'
Query query =query(where("username").is("lison"));
WriteResult remove = template.remove(query, User.class);
System.out.println("--------------------->"+ remove.getN());// delete from users where age >8 and age <25
query =query(newCriteria().andOperator(where("age").gt(8).where("age").lt(25)));
WriteResult remove2 = template.remove(query, User.class);
System.out.println("--------------------->"+ remove2.getN());}