栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

7.21

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

7.21

一直以为他俩是一样的,唯一的区别就是
mongo的repository继承的是MongoRepository
mysql的repository 继承的是JpaRepository
今天偶然间发现在模糊查询方面,也有着细微的差别
先说结论
mysql的需要手动加 %
mongo的不需要

首先是mongo的
public interface Mongodb_Domain_testRepository extends MongoRepository {
    public Page findAllByNameLike(Pageable pageable,String name);
}
然后是mysql的
public interface Mysql_Entity_TestRepository extends JpaRepository {
    public Page findAllByNameLike(Pageable pageable, String name);
}

方法名参数名一模一样,但是

mongo的模糊查询——》不需要加通配符
	@Test
	public void momgo_Repository_like(){

		Pageable pageable=PageRequest.of(0,5);

		Page all = mongodb_domain_testRepository.findAllByNameLike(pageable, "g");
		List content = all.getContent();
		System.out.println("all.getTotalElements() = " + all.getTotalElements());
		System.out.println("all.getTotalPages() = " + all.getTotalPages());
		for (Mongodb_Domain_test test : content) {
			System.out.println(test);
		}
	}
mysql的模糊查询——》需要自己加通配符
@Test
	public void mysql_Repository_like(){

		ListsortOrderList=new ArrayList<>();
		sortOrderList.add(Sort.Order.desc("id"));
		Pageable pageable=PageRequest.of(0,5,Sort.by(sortOrderList));

		Page all = testRepository.findAllByNameLike(pageable, "%l%");
//		Page all = testRepository.findAllByNameLike(pageable, "%l");
//		Page all = testRepository.findAllByNameLike(pageable, "l%");
//		Page all = testRepository.findAllByNameLike(pageable, "l");
		System.out.println("getTotalElements-->"+all.getTotalElements());
		System.out.println("getTotalPages-->"+all.getTotalPages());

		List content = all.getContent();
		for (Mysql_Entity_Test mysql_entity_test : content) {
			System.out.println("mysql_entity_test.getName() = " + mysql_entity_test.getName());
		}

	}
总结
 
另外 

或许有人想过通过设置 example 的方式去模糊查询,举个例子:

User user=new User();
user.setName("%zh%");
findAll.(Example.of(user),pageable);

这样肯定是不行的,因为example就是准确查询,他会把 %zh% 当作一个整体去查询,而不是将 % 当作通配符去查询。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1024164.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号