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

上海做公司网站多少钱国外免费域名网站

上海做公司网站多少钱,国外免费域名网站,秦皇岛电子网站建设,手机怎么制作图片前言: 上一篇我们简单分享了 Elasticsearch 的一些概念性的知识,本篇我们来分享 Elasticsearch 的实际运用,也就是在 Spring Booot 项目中使用 Elasticsearch。 Elasticsearch 系列文章传送门 Elasticsearch 基础篇【ES】 Elasticsearch …

前言:

上一篇我们简单分享了 Elasticsearch 的一些概念性的知识,本篇我们来分享 Elasticsearch 的实际运用,也就是在 Spring Booot 项目中使用 Elasticsearch。

Elasticsearch 系列文章传送门

Elasticsearch 基础篇【ES】

Elasticsearch Windows 环境安装

Elasticsearch 之 ElasticsearchRestTemplate 普通查询

Elasticsearch 之 ElasticsearchRestTemplate 聚合查询

Elasticsearch 之 ElasticsearchRestTemplate 嵌套聚合查询【嵌套文档聚合查询】

Elasticsearch 深入分析三种分页查询【Elasticsearch 深度分页】

引入 Elasticsearch 依赖

Spring Boot 集成 Elasticsearch 的第一步就是引入 Elasticsearch 的依赖,如下:

<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.4.5</version><relativePath/> <!-- lookup parent from repository -->
</parent><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-elasticsearch</artifactId><version>2.6.0</version>
</dependency>

配置文件配置

在 properties 文件中进行 Elasticsearch 配置,如下:

spring.elasticsearch.rest.uris= localhost:9200
spring.elasticsearch.rest.username=
spring.elasticsearch.rest.password=

我这里没有配置账号密码,因此账号密码为空。

定义数据实体

我这里使用一个用户 User 对象进行一个简单的实体定义,代码如下:

package com.order.service.entity.elasticsearch;import lombok.Data;
import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.Document;/*** @ClassName: elasticsearch* @Author: Author* @Date: 2024/12/22 19:25* @Description:*/
@Data
@Document(indexName = "user")
public class UserDO {@Idprivate int id;private String userName;private int age;}

Repository 定义

这里我们先采用继承 ElasticsearchRepository 接口的方式完成 Elasticsearch 的增删改查,代码如下:

package com.order.service.mapper;import com.order.service.entity.elasticsearch.UserDO;
import org.springframework.data.elasticsearch.repository.ElasticsearchRepository;/*** @ClassName: ElasticsearchUserMapper* @Author: Author* @Date: 2024/12/22 19:33* @Description:*/
public interface ElasticsearchUserRepository extends ElasticsearchRepository<UserDO,String> {}

Service 定义

我们在 Service 中定义了增删改查的方法,代码如下:

package com.order.service.service;import com.order.service.entity.elasticsearch.UserDO;import java.util.List;/*** @ClassName: ElasticsearchService* @Author: Author* @Date: 2024/12/22 19:27* @Description:*/
public interface ElasticsearchService {/*** @param userDO:* @date 2024/12/19 10:39* @description 保存用户*/void saveUser(UserDO userDO);/*** @param id:* @return com.order.service.entity.elasticsearch.UserDO* @date 2024/12/23 19:39* @description 查询用户*/UserDO queryUserById(int id);/*** @date 2024/12/23 19:40* @description 更新用户*/void updateUser(UserDO userDO);/*** @param id:* @author Author* @date 2024/12/19 10:41* @description 删除用户*/void deleteUserById(int id);/*** @return java.util.List<com.order.service.entity.elasticsearch.UserDO>* @author Author* @date 2024/12/23 19:42* @description 查询所有用户*/List<UserDO> queryAllUser();}

ServiceImpl 定义

我们在 ServiceImpl 中定义了实现了 Service 的增删改查的方法,通过注入 ElasticsearchUserRepository 的方式完成了 Elasticsearch 的增删改查,代码如下:

package com.order.service.service.impl;import com.order.service.entity.elasticsearch.UserDO;
import com.order.service.mapper.ElasticsearchUserRepository;
import com.order.service.service.ElasticsearchService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;import java.util.ArrayList;
import java.util.List;
import java.util.Optional;/*** @ClassName: ElasticsearchServiceImpl* @Author: Author* @Date: 2024/12/22 19:34* @Description:*/
@Slf4j
@Service
public class ElasticsearchServiceImpl implements ElasticsearchService {@Autowiredprivate ElasticsearchUserRepository elasticsearchUserRepository;@Overridepublic void saveUser(UserDO userDO) {elasticsearchUserRepository.save(userDO);}@Overridepublic UserDO queryUserById(int id) {Optional<UserDO> optional = elasticsearchUserRepository.findById(String.valueOf(id));return optional.get();}@Overridepublic void updateUser(UserDO userDO) {elasticsearchUserRepository.save(userDO);}@Overridepublic void deleteUserById(int id) {elasticsearchUserRepository.deleteById(String.valueOf(id));}@Overridepublic List<UserDO> queryAllUser() {Iterable<UserDO> all = elasticsearchUserRepository.findAll();List<UserDO> userList = new ArrayList<>();for (UserDO userDO : all) {userList.add(userDO);}return userList;}
}

Controller 定义

我们在 Controller 的方式完成 Elasticsearch 的增删改查测试,代码如下:

package com.order.service.controller;import com.order.service.entity.elasticsearch.UserDO;
import com.order.service.service.ElasticsearchService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;import java.util.List;/*** @ClassName: ElasticsearchContorller* @Author: Author* @Date: 2024/12/22 19:26* @Description:*/
@Slf4j
@RestController
public class ElasticsearchController {@Autowiredprivate ElasticsearchService elasticsearchService;@PostMapping("/save-user")public String saveUser(@RequestBody UserDO userDO) {elasticsearchService.saveUser(userDO);return "success";}@GetMapping("/query-user-by-id")public UserDO queryUserById(@RequestParam int id) {return elasticsearchService.queryUserById(id);}@PostMapping("/update-user")public String updateUser(@RequestBody UserDO userDO) {elasticsearchService.updateUser(userDO);return "success";}@GetMapping("/detele-user-by-id")public String deleteUserById(@RequestParam int id) {elasticsearchService.deleteUserById(id);return "success";}@GetMapping("/query-all-user")public List<UserDO> queryUserById() {return elasticsearchService.queryAllUser();}}

Elasticsearch 增删改查测试

新增用户测试,如下:

在这里插入图片描述
正常写入了,结果符合预取,下面我们试试查询。

查询用户测试,如下:

在这里插入图片描述
查询到了我们各个新增的用户,结果符合预期,下面我们来试试更新用户信息。

更新用户测试,如下:

在这里插入图片描述

更新用户信息成功,我们再次查询该用户信息,看看是否真的更新成功了。

再次查询用户信息如下:

在这里插入图片描述

可以看到用户的姓名和年龄都发生了变更,表示我们更新成功了,结果符合预期。

删除用户测试,如下:

在这里插入图片描述

删除用户信息成功,我们再次查询该用户信息,看看是否真的删除成功了。

再次查询用户信息如下:

在这里插入图片描述

可以看到没有查询到用户信息表名息删除成功。

查询所有用户测试,如下:

在这里插入图片描述

可以看到返回了一个用户信息列表,结果符合预期。

总结:可以看到我们使用 ElasticsearchRepository(也就是 JPA) 进程 Elasticsearch 的数据增删改查就像使用 MySQL 一样简单,但我在尝试使用较为复杂的查询的时候,ElasticsearchRepository 相关的方法提示已经过期,下一篇我们将分享使用 ElasticsearchRestTemplate 实现复杂查询,希望本篇的分享可以帮助到有需要的朋友。

如有不正确的地方欢迎各位指出纠正。


文章转载自:

http://o2Tdu9QI.yszrk.cn
http://hhPzxurc.yszrk.cn
http://hFXKRk0b.yszrk.cn
http://FxHaqzc4.yszrk.cn
http://JcLJT6G6.yszrk.cn
http://WQXeqear.yszrk.cn
http://IBbeGtuI.yszrk.cn
http://VcJYaV1p.yszrk.cn
http://DRqKoAPm.yszrk.cn
http://v5ETLW6x.yszrk.cn
http://9Vy37haV.yszrk.cn
http://7iDBl1Lq.yszrk.cn
http://BxfaunBO.yszrk.cn
http://28pn0KZI.yszrk.cn
http://GQKuzdtU.yszrk.cn
http://oM9k7xv1.yszrk.cn
http://7fiOke8Z.yszrk.cn
http://59ZTiMmS.yszrk.cn
http://Hj4Q988J.yszrk.cn
http://BmrFhYYv.yszrk.cn
http://Ff4FnGn7.yszrk.cn
http://FfbkYKCs.yszrk.cn
http://XLgMzHN4.yszrk.cn
http://o8LmFlu5.yszrk.cn
http://OZlpeY58.yszrk.cn
http://OfEPfYlw.yszrk.cn
http://CvD2yPXQ.yszrk.cn
http://uJPNzcx0.yszrk.cn
http://UglTri69.yszrk.cn
http://vA3Dc8Oj.yszrk.cn
http://www.dtcms.com/wzjs/737022.html

相关文章:

  • 网站代码的重点内容是什么专业长春网站建设
  • 建设公司的网站首页威海市住房和城乡建设局官方网站
  • 东莞网站推广怎么样做网站空间不给账号密码
  • 烟台网站建设电话上海做网站的公司哪家好
  • 微信公众号网站建设网站备案 工信部
  • 佛山网站优化软件网站建设的商品编码
  • 黄岛网站建设哪家专业湖南省建设工程招标网
  • 中国建设银行洛阳分行网站网站建设捌金手指花总四
  • 淄博住房和城乡建设厅网站聊城市东昌府区建设路小学网站
  • 虚拟主机 网站镜像设计模板网站都有哪些
  • 教育类门户网站前端后端分别是什么意思
  • 淘宝优惠劵做网站模版seo搜索排名优化方法
  • WordPress手机不显示长沙网站推广和优化
  • 宝安印刷网站建设青海建设工程信息网站
  • 网站源码上传到哪个文件夹国外网站推广平台有哪些公司
  • 重庆美邦 网站建设怎样先做网站后买域名
  • 网站建设的开发的主要方法杭州公司注册代理中介
  • 怎样用源代码做网站网站开发中遇到的技术问题
  • flash个人网站模板网站开发一般要哪些开发工具
  • 空港经济区内的建设工程网站腾讯云wordpress博客
  • 领导不愿意做招聘网站怎么办建设部考试中心网站
  • 网站审核照片幕布品牌网站建设 蝌蚪小7
  • 百度权重查询网站iis编辑网站绑定
  • 建设银行网站修改密码Wordpress付费主题排名
  • 网站挂百度推广绍兴seo公司
  • 国外网站网站视频互动网站建设
  • 桂林网站建设制作宣传片视频
  • 建筑公司网站源码 php微商城新零售app
  • html5公司网站欣赏常用网站建设软件有哪些
  • 免费做试卷的网站长春建站费用