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

关于网站建设项目实训报告如何查看网站备案

关于网站建设项目实训报告,如何查看网站备案,addthis wordpress,汕头响应式网站更多SpringBoot3内容请关注我的专栏#xff1a;《SpringBoot3》 期待您的点赞#x1f44d;收藏⭐评论✍ 整合 Elasticsearch 8.x #xff08;二#xff09;使用Repository 1. 环境准备1.1 项目依赖1.2 Elasticsearch 配置 2. 使用Repository的基本步骤2.1 创建实体类2.2 创… 更多SpringBoot3内容请关注我的专栏《SpringBoot3》 期待您的点赞收藏⭐评论✍ 整合 Elasticsearch 8.x 二使用Repository 1. 环境准备1.1 项目依赖1.2 Elasticsearch 配置 2. 使用Repository的基本步骤2.1 创建实体类2.2 创建 Repository 接口2.2.1 主要作用和优点2.2.2 使用场景 2.3 服务层实现2.4 控制器层 3. 测试应用3.1 启动 Elasticsearch3.2 启动 Spring Boot 应用3.3 测试 API 4. 总结 上一篇文章介绍了 Spring Boot 3 整合 Elasticsearch 8.x 的几种客户端形式除此之外Spring Data 对 Elasticsearch 还提供了 Repository 支持与前面讨论的JPA Repository 一样其基本原理是根据方法名称自动为你构建查询提供了更简便的数据搜索和分析功能。本文将介绍如何使用 Spring Data Elasticsearch Repository 来构建一个简单的搜索应用。 1. 环境准备 1.1 项目依赖 在 pom.xml 中添加以下依赖 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-elasticsearch/artifactId /dependency确保 spring-boot-starter-data-elasticsearch 的版本与 Spring Boot 3 兼容。 1.2 Elasticsearch 配置 在 application.properties 或 application.yml 中配置 Elasticsearch 的连接信息 spring:elasticsearch:uris: http://localhost:9200socket-timeout: 10susername: userpassword: secret2. 使用Repository的基本步骤 2.1 创建实体类 我们定义一个 Product 实体类表示产品信息 package com.coderjia.boot318es.bean;import lombok.AllArgsConstructor; import lombok.Data; import org.springframework.data.annotation.Id; import org.springframework.data.elasticsearch.annotations.Document;/*** author CoderJia* create 2024/11/3 下午 04:37* Description**/ Data Document(indexName products) AllArgsConstructor public class Product {Idprivate String id;private String name;private String description;private double price; }2.2 创建 Repository 接口 ElasticsearchRepository 是 Spring Data Elasticsearch 提供的一个接口用于简化与 Elasticsearch 交互的操作。它继承自 CrudRepository 和 PagingAndSortingRepository扩展了基本的 CRUD创建、读取、更新、删除功能支持分页和排序还提供了对 Elasticsearch 特有的操作支持。使用 ElasticsearchRepository开发者可以快速构建功能全面的数据访问层而无需编写复杂的 Elasticsearch 客户端代码。 2.2.1 主要作用和优点 简化数据操作提供了基础的 CRUD 方法如 save()、findById()、findAll() 和 deleteById() 等方便开发者直接使用。自定义查询通过定义接口中的方法如 findByName(String name)可以自动生成符合方法命名规范的查询。分页与排序内置了分页和排序支持方法如 findAll(Pageable pageable) 可以直接返回分页数据。与 Spring 无缝集成使用 Spring 的依赖注入和配置机制无需手动创建或管理客户端连接。减少代码复杂度自动实现常用的数据库操作减少重复代码提高开发效率。 2.2.2 使用场景 需要快速实现基于 Elasticsearch 的应用程序且不希望编写底层客户端调用代码。开发中涉及到简单或中等复杂度的查询使用方法命名约定生成查询即可满足需求。项目中需要分页、排序功能而不想手动处理分页逻辑。 定义 ProductRepository 接口继承 ElasticsearchRepository package com.coderjia.boot318es.dao;import com.coderjia.boot318es.bean.Product; import org.springframework.data.elasticsearch.repository.ElasticsearchRepository;import java.util.List;/*** author CoderJia* create 2024/11/4 下午 09:29* Description**/ public interface ProductRepository extends ElasticsearchRepositoryProduct, String {/*** 自定义通过name查询** param name* return*/ListProduct findByName(String name); }2.3 服务层实现 在服务层中实现增删改查的业务逻辑 package com.coderjia.boot318es.service;import com.coderjia.boot318es.bean.Product; import com.coderjia.boot318es.dao.ProductRepository; import jakarta.annotation.Resource; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service;import java.util.List; import java.util.Optional;/*** author CoderJia* create 2024/11/4 下午 09:29* Description**/ Service public class ProductService {Resourceprivate ProductRepository productRepository;// 创建或更新产品public Product saveProduct(Product product) {return productRepository.save(product);}// 根据 ID 查询产品public OptionalProduct findById(String id) {return productRepository.findById(id);}// 根据名称查询产品public ListProduct findByName(String name) {return productRepository.findByName(name);}// 获取所有产品public PageProduct findAll(Pageable pageable) {return productRepository.findAll(pageable);}// 删除产品public void deleteProduct(String id) {productRepository.deleteById(id);} }2.4 控制器层 在控制器层实现 REST API 接口处理增删改查请求 package com.coderjia.boot318es.controller;import com.coderjia.boot318es.bean.Product; import com.coderjia.boot318es.service.ProductService; import jakarta.annotation.Resource; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Pageable; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController;import java.util.List; import java.util.Optional;/*** author CoderJia* create 2024/11/4 下午 09:30* Description**/ RestController RequestMapping(/products) public class ProductController {Resourceprivate ProductService productService;// 创建或更新产品PostMappingpublic Product createOrUpdateProduct(RequestBody Product product) {return productService.saveProduct(product);}// 根据 ID 查询产品GetMapping(/{id})public OptionalProduct getProductById(PathVariable String id) {return productService.findById(id);}// 根据名称查询产品GetMapping(/search)public ListProduct searchByName(RequestParam String name) {return productService.findByName(name);}// 获取所有产品GetMappingpublic ListProduct getAllProducts(RequestParam(defaultValue 0) int page,RequestParam(defaultValue 10) int size) {Pageable pageable PageRequest.of(page, size);PageProduct products productService.findAll(pageable);return products.getContent();}// 删除产品DeleteMapping(/{id})public String deleteProduct(PathVariable String id) {productService.deleteProduct(id);return Product deleted successfully!;} }3. 测试应用 3.1 启动 Elasticsearch 确保 Elasticsearch 8.x 正在运行并且可以通过 http://localhost:9200 访问。 3.2 启动 Spring Boot 应用 运行 Spring Boot 应用确保没有错误。 3.3 测试 API 创建产品 POST http://localhost:8080/products Content-Type: application/json{id: 1,name: coderjia,description: desc v1,price: 1.0 }更新产品 POST http://localhost:8080/products Content-Type: application/json{id: 1,name: coderjia,description: desc v2,price: 2.0 }根据 ID 查询产品 GET http://localhost:8080/products/1根据名称查询产品 GET http://localhost:8080/products/search?namecoderjia获取所有产品分页 GET http://localhost:8080/products?page0size3删除产品 DELETE http://localhost:8080/products/14. 总结 通过以上步骤我们构建了一个完整的 Spring Boot 3 和 Elasticsearch 8.x 的增删改查示例应用。使用 Spring Data Elasticsearch Repository我们能够快速实现对 Elasticsearch 的基本 CRUD 操作简化了开发流程。希望这个示例能够帮助你理解如何在项目中有效使用 Elasticsearch
http://www.hkea.cn/news/14377637/

相关文章:

  • dede做的网站怎样去换模版网站 用php asp源码 比较好
  • 足彩网站怎样做推广即时设计网站
  • 哈尔滨模板网站建设微信小程序怎么申请注册
  • 广告网眼布网站优化建设扬州
  • 临武县网站建设wordpress的模板目录在哪里
  • 聚美优品网站建设主题北京网站建设 义创
  • 淘宝建设网站首页WordPress音乐免刷新
  • 常州市城乡建设局网站郑州市有做网站的吗
  • wordpress卡在 wpseo公司怎么推广宣传
  • 网站建设流程方案求职网站网页模板下载
  • 山东企业网站建设费用群晖 wordpress 迁移
  • 淘宝联盟网站建设不完整网站建设应用技术
  • 网站制作小工具腾讯企业qq
  • 江西网站建设哪家公司好广州新闻头条最新消息
  • 宽屏网站模板html有哪些网站结构是不合理的
  • 网站建设合同 域名seo怎么做
  • app开发和网站开发价格德惠市城乡建设局网站
  • 微信官网网站门面商铺装修
  • 网站app建站多少钱优酷的网站头怎么做的
  • 网站模板和源码区别有哪些有趣的网站
  • 网站运作方式wordpress 搜索词
  • 网站流量查询服务平台海南酒店网站建设
  • 大网络公司做网站wordpress精致建站
  • 外国人做数学视频网站微信营销的方法
  • 网站建设新闻 常识企业网站seo成功案例
  • 离退休部门网站建设情况网站备案需要当面核验哪些信息
  • 深圳外贸网站开发公司wordpress动漫模板
  • 苏宁易购网站建设的目标如何创建企业邮箱
  • 360网站拦截做国外有什么优秀的网站推荐
  • 中国建设行业峰会官方网站信息网站设计方案