当前位置: 首页 > news >正文

网站建设 苏州浏览器网站大全

网站建设 苏州,浏览器网站大全,青岛有哪些做网站的公司,建设一个货架网站🌹 以上分享 从入门到进阶 之 ElasticSearch SpringData 继承篇,如有问题请指教写。🌹🌹 如你对技术也感兴趣,欢迎交流。🌹🌹🌹 如有需要,请👍点赞&#x1f…
🌹 以上分享 从入门到进阶 之 ElasticSearch SpringData 继承篇,如有问题请指教写。🌹🌹 如你对技术也感兴趣,欢迎交流。🌹🌹🌹  如有需要,请👍点赞💖收藏🐱‍🏍分享 


Spring Data

        Spring Data 是一个用于简化数据库、非关系型数据库、索引库访问,并支持云服务的开源框架。其主要目标是使得对数据的访问变得方便快捷,并支持 map-reduce 框架和云计算数据服务。 Spring Data 可以极大的简化JPA (Elasticsearch.·.)的写法,在几乎不用写实现的情况下,实现对数据的访问和操作。除了 CRUD 外,还包括如分页、排序等功能

Spring DataLevel up your Java code and explore what Spring can do for you.icon-default.png?t=N7T8https://spring.io/projects/spring-data

POM

        <dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-elasticsearch</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><scope>runtime</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><scope>test</scope></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-test</artifactId></dependency>

项目结构 

配置

@Data
@Configuration
@ConfigurationProperties(prefix = "elasticsearch")
public class ElasticSearchConfig extends AbstractElasticsearchConfiguration {private String host;private Integer port;@Overridepublic RestHighLevelClient elasticsearchClient() {String scheme = "http";return new RestHighLevelClient(RestClient.builder(new HttpHost(host, port, scheme)));}
}

实体

@Data
@NoArgsConstructor
@AllArgsConstructor
@ToString
@Document(indexName = "product", shards = 3, replicas = 1)
public class Product {/*** 商品唯一标识*/@Idprivate Long id;/*** 商品名称*/@Field(type = FieldType.Text)private String title;/*** 分类名称*/@Field(type = FieldType.Keyword)private String category;/*** 商品价格*/@Field(type = FieldType.Double)private Double price;/*** 图片地址*/@Field(type = FieldType.Keyword, index = false)private String images;
}

 Dao

 测试类

import com.mcp.es.entity.Product;
import org.junit.jupiter.api.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.elasticsearch.core.ElasticsearchRestTemplate;
import org.springframework.test.context.junit4.SpringRunner;@SpringBootTest
@RunWith(SpringRunner.class)
class EsSpringApplicationTests {@Autowiredprivate ElasticsearchRestTemplate template;}

创建索引

// 将根据实体类中的配置参数,自动创建索引	
@Testvoid createIndex() {System.out.println("自动创建索引");}

索引操作

文档 

@RunWith(SpringRunner.class)
@SpringBootTest
public class SpringDataEsRepositoryTest {@Autowiredprivate ProductRepository repository;
}

 基础操作

	@Testpublic void save(){Product product = new Product();product.setId(1000L);product.setTitle("华为手机");product.setCategory("手机");product.setPrice(2999.0);product.setImages("http://www.atguigu/hw.jpg");repository.save(product);}

//修改@Testpublic void update(){Product product = new Product();product.setId(1000L);product.setTitle("小米 2 手机");product.setCategory("手机");product.setPrice(9999.0);product.setImages("http://www.atguigu/xm.jpg");repository.save(product);}

	//根据 id 查询@Testpublic void findById(){Product product = repository.findById(1000L).get();System.out.println(product);}

	@Testpublic void findAll(){Iterable<Product> products = repository.findAll();for (Product product : products) {System.out.println(product);}}

	//删除@Testpublic void delete(){Product product = new Product();product.setId(1000L);repository.delete(product);}

 

//批量新增@Testpublic void saveAll(){List<Product> productList = new ArrayList<>();for (int i = 0; i < 10; i++) {Product product = new Product();product.setId(Long.valueOf(i));product.setTitle("["+i+"]小米手机");product.setCategory("手机");product.setPrice(1999.0 + i);product.setImages("http://www.atguigu/xm.jpg");productList.add(product);}repository.saveAll(productList);}

	//分页查询@Testpublic void findByPageable(){//设置排序(排序方式,正序还是倒序,排序的 id)Sort sort = Sort.by(Sort.Direction.DESC,"id");int currentPage=0;//当前页,第一页从 0 开始, 1 表示第二页int pageSize = 5;//每页显示多少条//设置查询分页PageRequest pageRequest = PageRequest.of(currentPage, pageSize,sort);//分页查询Page<Product> productPage = repository.findAll(pageRequest);for (Product Product : productPage.getContent()) {System.out.println(Product);}}

 

文档搜索

/*** term 查询* search(termQueryBuilder) 调用搜索方法,参数查询构建器对象*/@Testpublic void termQuery(){TermQueryBuilder termQueryBuilder = QueryBuilders.termQuery("title", "小米");Iterable<Product> products = repository.search(termQueryBuilder);for (Product product : products) {System.out.println(product);}}/*** term 查询加分页*/@Testpublic void termQueryByPage(){int currentPage= 0 ;int pageSize = 5;//设置查询分页PageRequest pageRequest = PageRequest.of(currentPage, pageSize);TermQueryBuilder termQueryBuilder = QueryBuilders.termQuery("title", "小米");Iterable<Product> products =repository.search(termQueryBuilder,pageRequest);for (Product product : products) {System.out.println(product);}}

http://www.zhongyajixie.com/news/27261.html

相关文章:

  • 电商建网站爱站工具下载
  • 课程设计做淘宝网站的目的企业seo排名有 名
  • 深圳网站建设开发需要多少钱深圳市seo网络推广哪家好
  • 如何做网站的书籍专门开发小程序的公司
  • 近期国家新闻长沙优化官网服务
  • 做网站密云广告推送平台
  • 国家部委政府网站群建设工作百度客服电话24小时人工服务热线
  • 一个微信可以做两个网站支付网站平台搭建
  • 万网怎么建立网站安顺seo
  • 建设网站自学建立网站需要什么
  • 长春做网站哪里好经典软文文案
  • 潍坊网站建设团队百度seo关键词工具
  • 网站推广的方式和管理方法营销推广活动策划方案
  • 分辨率大于1920的网站怎么做网络营销是学什么
  • 静态网站如何做优化南宁seo做法哪家好
  • 使用wordpress的建网站向日葵seo
  • wordpress entrance 1.2windows优化大师官方免费下载
  • 看乱码的网站申请域名的方法和流程
  • java做网站例子广州网站营销推广
  • wordpress获取文章内图片不显示谷歌seo优化
  • 做网站要掌握几种语言石家庄线上推广平台
  • h5做网站用什么软件个人网站制作模板
  • 惠州做网站哪家公司好无锡百度推广代理公司
  • 杭州网站建设公司哪家好热搜榜上能否吃自热火锅
  • 盐城网站建设价格代发软文
  • 怎么学网站设计seo网站优化快速排名软件
  • 自己买个服务器做网站广州网站优化系统
  • 怎样防止网站被黑产品营销
  • 株洲企业seo优化昆明排名优化
  • 购物网站开发教程seo技术培训茂名