Spring boot实现模糊查询

Spring boot 整合 Elasticsearch 实现模糊查询 大家好,今天突发奇想,,学习拉一下Elasticsearch,今天来跟大家分享一下,平时不熬夜得的我,最近熬夜搞这个东西,可能不是那么完美,也会有小bug,所以请大家谅解 1:安装Elasticsearch 去官网下载https://www.elastic.co/cn/downloads/elasticsearch 下面运行Elasticsearch 下载完解压即可:直接双击/bin/Elas... 阅读详情

使用注解方式

记得查询时要加通配符来表示个数等信息!
参考博文,SQL模糊查询语句


SearchController.java

package cn.shop.controller;

import cn.shop.entity.Shoe;
import cn.shop.service.ProductService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;

import java.util.List;

@Controller
@RequestMapping(value = "search")
public class SearchController {

    private Logger logger = LoggerFactory.getLogger(SearchController.class);

    @Autowired
    private ProductService productService;

    @RequestMapping(value = "")
    @ResponseBody
    public List<Shoe> showSearch(@RequestParam(value = "key") String key ,
                             Model model){
        logger.info("key:" + key);
        List<Shoe> list = productService.searchShoes(key);
        logger.info("查询结果个数:" + list.size());
        return list;
    }

}

ProductService.java

package cn.shop.service;

import cn.shop.entity.Shoe;
import cn.shop.repository.ProductRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class ProductService {

    @Autowired
    private ProductRepository productRepository;

    public List<Shoe> searchShoes(String key){
        //记得加 %  %
        return productRepository.findAllByNameLike("%" + key + "%");
    }
}

ProductRepository.java

package cn.shop.repository;

import cn.shop.entity.Shoe;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.repository.query.Param;

import java.util.List;

public interface ProductRepository extends JpaRepository<Shoe,Integer>{

    public List<Shoe> findAllByNameLike(String key);
}
基于 ShardingSphere 的 Spring Boot 数据加密与模糊查询实现 本文介绍了基于ShardingSphere和Spring Boot实现数据加密与模糊查询的完整解决方案。项目采用AES加密敏感数据,通过ShardingSphere的CHAR_DIGEST_LIKE加密器支持加密字段的模糊查询功能。配置包括数据源设置、加密规则定义(AES、MD5和模糊查询专用加密器)以及特殊设计的数据库表结构(添加salary_like字段)。该方案既保障了数据安全,又解决了加密数据难以进行模糊匹配的难题,适用于需要同时满足数据保护和复杂查询需求的场景。 阅读详情

相关推荐

Spring Boot 实现高性能分页+多条件模糊查询

Redis 作为一款高性能的内存数据库,支持多种数据结构,包括 String、List、Set、SortedSet 和 Hash 等。通常,我们在 Redis 中根据 key 来检索相应的值,但 Redis 并不原生支持模糊查询功能。因此,在需要进行分页、排序以及复杂条件检索(如评论管理、时间线排序、搜索等)的场景下,直接使用 Redis 可能无法满足需求。

wjianwei666的专栏 433

SpringBoot实现分页模糊查询

【代码】SpringBoot实现分页模糊查询。

qq_43581971的博客 2070

LDA主题模型简介及Python实现

一、LDA主题模型简介 LDA主题模型主要用于推测文档的主题分布,可以将文档集中每篇文档的主题以概率分布的形式给出根据主题进行主题聚类或文本分类。 LDA主题模型不关心文档中单词的顺序,通常使用词袋特征(bag-of-word feature)来代表文档。词袋模型介绍可以参考这篇文章:文本向量化表示——词袋模型 - 知乎 了解LDA模型,我们需要先了解LDA的生成模型,LDA认为一篇文章是怎么形成的呢? LDA模型认为主题可以由一个词汇...

weixin_41168304的博客 20万+

SpringBoot 原生Sql查询语句 模糊like concat 条件where

如下 数据库为mysql ,Oracle数据库的模糊查询为 like ‘%’||?1||’%’ public interface ArticleArchivesDAO extends BaseDao<ArticleArchives, String> { //模糊查询 物料名或者物料编号 @Query(value = "select * from t_article_archives where(archives_name LIKE concat('%',?

weixin_45631100的博客 2281

致远OA系统表单相关操作记录(一)

致远OA系统表单相关操作

weixin_59666050的博客 6099

2026年AI技能进阶指南:从提示词工程到智能体开发实战

提示词工程作为AI时代的基础沟通技能,其核心原理是通过系统化的交互方法论实现与大模型的高效对话。这项技术通过明确性、具体性和可操作性的设计原则,显著提升了AI生成内容的质量和实用性。在工程实践层面,提示词工程已经发展出角色扮演、步骤分解等成熟模式,广泛应用于代码生成、技术方案设计等场景。随着AI智能体开发的兴起,提示词工程进一步演化为定义智能体身份认知和行为规范的系统接口设计,成为构建自主AI系统的关键技术基础。掌握从基础提示词到智能体开发的完整技能栈,能够帮助开发者在AI技术浪潮中保持核心竞争力。

weixin_33139275的博客 332

Spring Boot 模糊查询

/** * 模糊查询 * @return */@Query("from StudentInformation as s where (" + "s.name like %?1% or ?1 =null) and " + "(s.stuNo =?2 or ?2 = null) and " + "(s.endDate >= ?9 or ?9=null) and " +

HealerJean梦想博客 3984

STM32实战开发(133):基于STM32的智能GPS定位跟踪系统开发

本文详细介绍了如何基于STM32开发一个智能GPS定位跟踪系统。系统使用NEO-6M GPS模块获取实时定位数据,并通过SIM800L GPRS模块将定位信息上传到远程服务器。通过OLED屏幕实时显示位置数据,使用SD卡存储历史轨迹,并提供蜂鸣器报警功能。项目实现了GPS定位数据的获取、解析、存储和传输,为智能定位系统提供了完整的解决方案。

2201_76125393的博客 1643

SpringBoot简单实现模糊查询及新增

springboot基础

zhangchang0516的博客 7163

Cesium 实战 19 - 使用 gltf-vscode 查看、预览以及编辑 glTF 和 GLB 模型

Cesium 实战 - 使用 gltf-vscode 查看、预览以及编辑 glTF 和 GLB 模型。

非科班Java出身GISer的博客 6434

3、无限维系统理论中的算子与半群:概念、定理及应用

本博文深入探讨了无限维系统理论中的两个核心概念:里茨谱算子与卢默-菲利普斯定理。文章首先介绍了里茨基的定义与性质,分析了谱、预解集及特征值在无限维系统中的特性,并详细阐述了里茨谱算子的条件及其生成C0-半群的能力,结合阻尼欧拉-伯努利梁模型展示了其应用。随后,文章介绍了卢默-菲利普斯定理及其推论,通过多个偏微分方程实例(如一阶方程、柔性梁、波动方程和扩散问题)说明如何利用该定理判断算子是否生成压缩半群。此外,还强调了状态空间选择和边界条件对系统适定性的重要影响,并总结了相关问题的解决步骤与方法。

flink9streamer的博客 146

Springboot项目如何设计接口中敏感字段模糊查询?

敏感字段数据是加密存储在数据库的表中,如果需要对这些敏感字段进行模模糊查询,还用原来的通过sql的where从句的like来模糊查询的方式肯定是不行的,那么应该怎么实现呢?这篇文章就来解决这个问题。分词密文映射表,这种方法是对第二种思路的基础上进行延伸优化,也是主流的方法。新建一张分词密文映射表,在敏感字段数据新增、修改的后,对敏感字段进行分词组合,如“15503770537”的分词组合有“155”、“0377”、“0537”等,再对每个分词进行加密,建立起敏感字段的分词密文与目标数据行主键的关联关系;在处

凡夫编程 3203

ResNet改进(20):融合Swin Transformer与ResNet

这种混合架构的设计理念是:在保留CNN强大局部特征提取能力的同时,引入Transformer的全局建模优势。我们实现的模型在ResNet18的基础上嵌入了一个简化版的Swin Transformer Block,旨在探索两种范式结合的可能性。通过在ResNet早期阶段引入Transformer模块,我们既保留了CNN强大的局部特征提取能力,又获得了Transformer的全局建模优势。本文提出的ResNet与Swin Transformer混合架构,探索了CNN与Transformer结合的可能性。

2401_82355416的博客 858

Spring Boot实现加密字段模糊查询的最佳实践

本文探讨了Spring Boot环境下实现加密字段模糊查询的解决方案。针对传统加密方式无法支持模糊查询的问题,重点介绍了格式保留加密(FPE)技术,该技术能保持数据格式不变,支持模糊匹配。文章分析了各种加密方案的优缺点,并提供了基于Google Tink库的FPE实现代码示例,包括密钥配置、加密解密方法等核心功能。这种方案在保证数据安全性的同时,兼顾了业务查询需求,适用于需要保护敏感数据但又要支持模糊查询的企业级应用场景。

勤于笔记,成于点滴。 1076

Linux C/C++ or 嵌入式面试之《C/C++笔面试系列》(10) C++ 前置后置增减运算符重载形式与比较

C语言的++、–运算符在此不讨论。 文章目录1、前置后置增减运算符重载的形式2、前置和后置运算符的性能比较 1、前置后置增减运算符重载的形式 自增运算符“++”和自减运算符“–”分别包含两个版本。即运算符前置形式(如 ++x)和运算符后置形式(如 x++),这两者进行的操作是不一样的。因此,当我们在对这两个运算符进行重载时,就必须区分前置和后置形式。C++根据参数的个数来区分前置和后置形式。如果按照通常的方法来重载 ++ 运算符(即作为成员函数重载时不带参数,或者作为非成员函数重载时带有一个参数),那么重载

二进制君 5831

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

spring boot中使用注解实现模糊查询

//模糊查询(根据姓名和登记日期模糊查询所有数据) @Select({"select * from putong_rencai where concat(name,dengji_time) like '%' || 'search_name' || '%' "}) public List&lt;PuTongUser&gt; selectMohu(@Param("search...

大海无量的博客 8056

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

Spring Boot实现数据加密存储、模糊查询与脱敏的完整方案

在数据安全领域,字段级加密是保护敏感信息(如手机号、身份证号)的核心技术,它通过AES或SM4等对称加密算法将明文转换为密文存储,确保即使数据库泄露,攻击者也无法直接获取原始数据。其原理是在应用层对数据进行加解密处理,密钥由KMS(密钥管理系统)统一管理,保障了数据的机密性。这项技术的价值在于解决了数据存储安全与合规性要求,尤其适用于金融、医疗、电商等对隐私保护要求严格的行业。然而,传统加密会破坏数据库的模糊查询功能,因为密文无法直接使用LIKE语句匹配。为此,工程实践中引入了盲索引技术,通过存储字段的哈希

weixin_30247307的博客 568

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

在 Spring Boot 中如何实现对加密后的敏感字段进行模糊查询?

本文详细介绍了在 Spring Boot 中实现对加密后的敏感字段进行模糊查询的方法。首先,通过选择合适的加密算法对敏感字段进行加密。然后,根据实际需求,选择明文存储模糊查询或加密存储模糊查询的方法实现模糊查询功能。最后,强调了在实现过程中需要注意的安全性、性能和数据库支持等方面的问题。通过合理设计和实现,可以在保证数据安全的前提下,实现对加密后的敏感字段的模糊查询功能,满足业务需求。

网络技术联盟站 1038

Spring Boot中字段加密后的模糊查询:支持MyBatis与JPA

在开发应用程序时,特别是涉及敏感数据(如密码、手机号等)时,数据安全性至关重要。为了实现数据的安全存储,我们通常会选择对敏感字段进行加密处理。然而,某些场景下,我们仍需要对这些加密后的敏感字段进行模糊查询,以满足业务需求。本文将详细介绍在Spring Boot中如何实现对加密后的敏感字段进行模糊查询,同时支持MyBatis和JPA。本文详细介绍了在Spring Boot中实现对加密后的敏感字段进行模糊查询的方法,同时支持MyBatis和JPA。首先,通过选择合适的加密算法对敏感字段进行加密。

2301_79727522的博客 1283

Spring Boot+MybatisPlus使用JQuery DataTables表格插件展示数据、实现分页和模糊查询等功能

Spring Boot+MybatisPlus使用JQuery DataTables表格插件展示数据、实现分页和查询功能一、部分技术选型二、项目结构三、功能需求和效果展示四、关键代码4.1页面sc_dyj.html4.2controller层4.3 mapper层4.3.1PrinterMapper4.3.2PrinterMapper.xml五、案例下载链接 一、部分技术选型 前端 Thymeleaf 模板引擎 jquery js框架 layer提示框、弹出层、日期 dataTables表格插件(基于jq.

weixin_46460843的博客 1338

Vue+elementUI+spring boot实现时间范围模糊查询

在日常开发中会有使用时间范围来进行查询,通过前端向后端请求来过滤数据,我们可以运用elementUI组件实现此功能。

编程学习中 2042

spring-data-jpa + SpringBoot + bootstrapTable 后端分页 模糊查询

spring-data-jpa + SpringBoot + bootstrapTable 后端分页 模糊查询 数据库层ImageRepository 代码 package com.easy.kotlin.chapter11_kotlin_springboot.dao import com.easy.kotlin.chapter11_kotlin_springboot.entity.Image

AI天才研究院 1万+

Spring Boot 集成 ElasticSearch:实现模糊查询、批量 CRUD、排序、分页和高亮功能

1.大致流程创建对应的请求 --> 设置请求(添加规则,添加数据等) --> 执行对应的方法(传入请求,默认请求选项)–> 接收响应结果(执行方法返回值)–> 输出响应结果中需要的数据(source,status等)2.注意事项如果不指定id,会自动生成一个随机id正常情况下,不应该这样使用new IndexRequest(“ljx777”),如果索引发生改变了,那么代码都需要修改,可以定义一个枚举类或者一个专门存放常量的类,将变量用final static等进行修饰,并指定索引值。

weixin_44831330的博客 1178

SpringBoot模糊查询加分页

@SpringBoot模糊查询加页 实体 Student @Entity @Table(name = “Student”) @Slf4j @Audited @Data public class Student extends BaseModel implements Serializable { private String name;//学生姓名 private String zy;//专业 private String xb;//系别 @JsonFormat(shape = JsonFormat.Sha

weixin_47615289的博客 735
上一篇: Re库基本用法
下一篇: ubuntu/deepin安装Scrapy
一叶知秋Autumn
博客等级 码龄10年 170粉丝 51原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值