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

html企业整站模板网站网站搭建 成都

html企业整站模板网站,网站搭建 成都,分类网站 php,the ken wordpress场景重现在使用 MyBatis/Mybatis-Plus 框架对 MySQL 操作时习惯了字段名小驼峰映射#xff0c;然而在操作 Elasticsearch 时发现字段名没有小驼峰映射。解决方法1. 使用 ObjectMapper 手动转换#xff1a; 这是最直接也最常用的方法。 在 Spring Boot 应用中使用 ObjectMappe…场景重现在使用 MyBatis/Mybatis-Plus 框架对 MySQL 操作时习惯了字段名小驼峰映射然而在操作 Elasticsearch 时发现字段名没有小驼峰映射。解决方法1. 使用 ObjectMapper 手动转换 这是最直接也最常用的方法。 在 Spring Boot 应用中使用 ObjectMapper 将从 Elasticsearch 获取的数据进行转换将下划线命名转换为小驼峰命名。 import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.PropertyNamingStrategies; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service;import java.util.HashMap; import java.util.Map;Service public class ElasticsearchService {Autowiredprivate ObjectMapper objectMapper; // 通过 Bean 配置 ObjectMapperpublic MapString, Object getDocument(String index, String id) {// 假设你已经有了从 Elasticsearch 获取文档的方法这里是模拟MapString, Object document new HashMap();document.put(first_name, John);document.put(last_name, Doe);// 将下划线命名转换为小驼峰命名ObjectMapper snakeCaseMapper new ObjectMapper();snakeCaseMapper.setPropertyNamingStrategy(PropertyNamingStrategies.SNAKE_CASE);ObjectMapper camelCaseMapper new ObjectMapper();camelCaseMapper.setPropertyNamingStrategy(PropertyNamingStrategies.LOWER_CAMEL_CASE);try {String jsonString snakeCaseMapper.writeValueAsString(document);return camelCaseMapper.readValue(jsonString, Map.class);} catch (Exception e) {// 处理异常e.printStackTrace();return null;}} }解释:• ObjectMapper 配置: 在 Spring Boot 应用中你需要配置一个 ObjectMapper Bean。• PropertyNamingStrategy: 通过设置 PropertyNamingStrategyObjectMapper 可以自动将下划线命名转换为小驼峰命名。 这里先使用snakeCaseMapper读取再使用camelCaseMapper写出。• 转换过程: 从 Elasticsearch 获取的数据Map使用 ObjectMapper序列化成 JSON 字符串然后再反序列化成 Map。 在这个过程中PropertyNamingStrategy 会自动进行命名转换。配置 ObjectMapper Bean: import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.PropertyNamingStrategies; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration;Configuration public class ObjectMapperConfig {Beanpublic ObjectMapper objectMapper() {ObjectMapper objectMapper new ObjectMapper();// 可以根据需要配置 ObjectMapper 的其他属性return objectMapper;} } 2. 使用 Elasticsearch 的 field_alias (推荐但ES版本要支持): 从 Elasticsearch 7.0 开始引入了 field_alias。 你可以利用这个功能在 Elasticsearch 索引的 Mapping 中定义字段别名将下划线命名的字段映射到小驼峰命名的字段。 PUT my_index {mappings: {properties: {first_name: {type: alias,path: first_name},last_name: {type: alias,path: last_name}}} }注意: field_alias 只是别名它仍然需要你存储实际的下划线命名的字段。 这样做的好处是你可以在查询时使用小驼峰命名但底层存储仍然是下划线命名。 3. 自定义 Elasticsearch 客户端 (不推荐):你可以自定义 Elasticsearch 客户端拦截响应结果并手动进行字段命名转换。 这通常比较复杂需要你深入了解 Elasticsearch 客户端的内部机制。不建议使用这种方法因为它维护成本高。 4. 定义 DTO 类并使用 JsonProperty 注解创建一个 DTO 类对应 Elasticsearch 中的文档结构并在 DTO 类的字段上使用 JsonProperty 注解将 Elasticsearch 的字段名映射到 DTO 类的字段上。 import com.fasterxml.jackson.annotation.JsonProperty;public class UserDTO {JsonProperty(first_name)private String firstName;JsonProperty(last_name)private String lastName;// Getters and setters }然后从 Elasticsearch 获取数据后将数据映射到 UserDTO 对象。 5. 使用 Elasticsearch 插件 (不推荐):有一些第三方 Elasticsearch 插件可以自动进行字段命名转换。 但使用插件会增加系统的复杂性并且可能存在兼容性问题因此不建议使用。选择哪种方法优先考虑 field_alias (如果你的 Elasticsearch 版本支持): 它是最优雅的解决方案对现有代码的改动最小。ObjectMapper 手动转换: 如果你无法修改 Elasticsearch 的 Mapping那么使用 ObjectMapper 是一个不错的选择。 它简单易用并且可以灵活地控制转换过程。JsonProperty 注解: 如果你的数据结构相对固定并且需要将其映射到 DTO 对象那么使用 JsonProperty 注解是一个好主意。避免自定义客户端和插件: 除非你有非常特殊的需求否则不建议使用自定义客户端和插件因为它们维护成本很高。
http://www.pierceye.com/news/103443/

相关文章:

  • iis7 网站404错误信息官网下载软件
  • 广州建设网站平台广东seo网站推广代运营
  • 网站 优化 关键字qq官网登录
  • 建设银行园区公积金管理中心网站地方门户网站推广
  • 桂林市网站设计wordpress远程数据库
  • 网站建设多钱怎么做网上卖菜网站
  • 响应式电商网站网站设计常见问题
  • 爱常德网凡科网站可以做seo优化
  • 建设银行手机银行官方网站小程序app公众号的区别
  • 彩票网站维护需要几天企业展示网站建设需要做什么
  • cms网站后台模版惠州网站设计哪家好
  • 海南智能网站建设设计湘潭学校网站建设 x磐石网络
  • 网站建设的入门书籍表格我做视频网站
  • 数据库跟网站内容青岛公司做网站的价格
  • 成都市金牛区建设和交通局网站营销专业网站
  • 免费的视频网站如何赚钱wordpress推广系统
  • 上海酒店团购网站建设网站建设风险分析
  • 做网站的抬头怎么做南昌app定制
  • 深圳市企业网站建设企业品牌设计
  • 做图网站有哪些内容惠州抖音推广
  • 郑州中原区建设局网站公司网站建设素材
  • 企业手机网站源码下载企查查网页版
  • 金科网站建设ps做网站难吗
  • 如何在年报网站上做遗失公告wordpress默认摘要
  • 中国网站服务器哪个好有哪些做公司网站
  • 做宠物的网站有哪些如何做电商生意
  • 具有品牌的常州做网站关于网站建设的广告词
  • 孝感网站推广品牌策划公司都有哪些
  • 保洁公司用哪些网站做推广wordpress aj提交评论
  • 互联网金融p2p网站建设模板简历模板免费下载网站