MyBatis模糊查询不报错但查不出数据的一种解决方案

MyBatis数据加密与模糊查询实战:TypeHandler与拦截器组合方案 数据安全是应用架构设计的核心考量,尤其在涉及用户敏感信息的场景下,数据库字段级加密成为合规性刚需。其原理是在数据持久化过程中,通过透明加解密技术,确保敏感数据以密文形式存储,同时业务代码无需感知加解密细节。这项技术的核心价值在于平衡安全性与开发效率,实现安全合规的低侵入性落地。在Java生态中,MyBatis作为主流的持久层框架,其TypeHandler机制和插件拦截器为数据透明加密提供了天然的技术支撑。通过自定义TypeHandler,可以无缝实现字段的自动加密存储与解密回显;而面对加密后数据难以进行模糊 阅读详情

今天在用MyBatis写一个模糊查询的时候,程序没有报错,但查不出来数据,随即做了一个测试,部分代码如下:

	@Test
	public void findByNameTest() throws IOException {
		String resource = "SqlMapConfig.xml";
		InputStream inputStream = Resources.getResourceAsStream(resource);
		SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder()
				.build(inputStream);
		SqlSession sqlSession = sqlSessionFactory.openSession();
		List<User> list = sqlSession.selectList("test.findByName", "远");
		System.out.println(list);
		sqlSession.close();

	}

User.xml映射文件
 	<select id="findByName" parameterType="java.lang.String" resultType="pojo.User">
 		SELECT * FROM USER WHERE username LIKE '%${value}%'
 	</select>

结果日志显示

Opening JDBC Connection
Created connection 2040926578.
Setting autocommit to false on JDBC Connection [com.mysql.jdbc.JDBC4Connection@79a61172]
==>  Preparing: SELECT * FROM USER WHERE username LIKE '%远%' 
==> Parameters: 
<==      Total: 0
[]
Resetting autocommit to true on JDBC Connection [com.mysql.jdbc.JDBC4Connection@79a61172]
Closing JDBC Connection [com.mysql.jdbc.JDBC4Connection@79a61172]
Returned connection 2040926578 to pool.

查询出的结果数量为0

解决方法:

 在SqlMapConfig.xml配置文件中把

<property name="url" value="jdbc:mysql://localhost:3306/mybatistest" />

改为:

<property name="url" value="jdbc:mysql://localhost:3306/mybatistest?characterEncoding=utf8" />
指定一个字符的编码格式,问题解决。

康耐视 VisionPro CogImageFileTool(将获得的图像保存至文件或从文件中获取图像)工具 VisionPro CogImageFileTool(将获得的图像保存至文件或从文件中获取图像)工具 阅读详情

相关推荐

视觉SLAM的前段后端最详细的梳理(硕士入门知识框架更新)

文章目录视觉SLAM的组成结构视觉里程计(VO)-特征点法 -构建稀疏点云地图-直接法 -构建稠密或半稠密的地图 --需要使用 RGB-D 传感器视觉里程计--总结:SLAM 后端研究滤波器法非线性优化后端方式的差异(有五种优化方式):单目视觉里程计的初始化:运动估计:半直接法运动估计的优化方案:关于解决累计误差的一些方法:关键帧的建图及后端优化:特征的深度估计:图优化的后端研究:视觉与IMU融合的分类:视觉与IMU的融合的优势:存在的问题:优秀的开源: 视觉SLAM的组成结构 视觉里程计(VO) -特

DC 6812

SpringBoot配置Mybatis配置问题报错或查不到数据

1、Mybatis配置问题 1、首先查看自己的MyBatis扫描路径是否正确 2、再看下自己的映射实体包路径是否正确 3、将SQL语句打印出来,查看SQL是否出错 4、是否开启驼峰映射(Mybatis默认驼峰式关闭状态) 以下附上Mybatis简单配置 mybatis: #mapper.xml所在文件 mapper-locations: classpath*:com/mmh/example/mapper/**/*.xml #映射类所在路径 type-aliases-package: com

小学僧的博客 2674

ZXDoc工业级CAN总线仿真工具全解析与应用实践

CAN总线作为现代工业通信的核心协议,其仿真技术是汽车电子和工业控制领域的关键支撑。通过物理层信号模拟、协议层报文解析和应用层人机交互的三维仿真,开发者能够构建完整的硬件在环测试环境。ZXDoc作为工业级仿真工具,集成了DBC工程化管理、HMI面板设计和自动化测试脚本等核心功能,特别适用于ECU开发、产线验证等场景。工具支持ISO11898标准协议,提供错误帧注入、负载压力测试等高级特性,结合Python API可实现复杂测试用例的自动化执行。在新能源车VCU测试等实践中,通过优化采样点等参数配置,显著提升

weixin_30096975的博客 471

学习mybatis时,在程序中无法查询到数据,但在数据库中执行sql语句却可以查询

JAVA

m0_46465727的博客 4293

手把手教你安装 Vivado2022.2(附安装包)

Vivado 2022.2版本与之前的版本相比,具有以下几个显著的优势:电源设计管理器(PDM):Vivado 2022.2引入了全新的电源设计管理器(PDM),这是一个下一代功耗评估平台,为Versal® 和 Kria™ SOM提供了准确一致的功耗估计能力。PDM是Versal产品家族的首选功耗评估工具,为Versal ACAP硬IP块提供增强向导,简化从XPE向PDM的迁移,帮助用户获得准确的功耗评估。

dpwkj的博客 2万+

【脚本篇】---spyglass lint脚本

【代码】【脚本篇】---spyglass lint脚本。

冬瓜 6356

Oracle 添加数据,数据库中能查询到数据,但是使用mybatis查询时查不到数据

原因:Oracle 需要手动提交事务,使用 insert into 语句添加数据时没有提交事务。注意:values();后面这个分号不要忘加 不然会报错。只需要在最后加上 commit;

qq_59188904的博客 1793

2021年软件测试面试题大全

简述测试流程: 1、阅读相关技术文档(如产品PRD、UI设计、产品流程图等)。 2、参加需求评审会议。 3、根据最终确定的需求文档编写测试计划。 4、编写测试用例(等价类划分法、边界值分析法等)。 5、用例评审(主要参与人员:开发、测试、产品、测试leader)。 6、开发提交代码至SVN或者GIT ,配管搭建测试环境。 7、执行测试用例,记录发现的问题。 8、验证bug与回归测试。 9、编写测试报告。 10、产品上线。 补充测试用例设计过程: 根据需求得出测试需求 设计测试方

hard_days的博客 20万+

mybatis查询不到数据

现象:直接运行SQL语句,可以查询到数据。但是通过mybatis执行,却拿不到数据。 测试发现,如果查询字段的值为中文,mybatis拿不到数据。但是英文没有问题。可知是编码的问题。 修改数据库链接,指定编码为UTF-8,问题解决。 <Resource auth="Container" driverClassName="com.mysql.jdbc.Driver" maxIdle="10" maxTotal="200" maxWaitMillis="10000"

begefefsef的博客 2538

表面声波滤波器——叉指换能器设计实战:从关键参数到结构选型

本文深入探讨了表面声波滤波器核心部件叉指换能器的实战设计流程。从目标驱动出发,详细解析了如何根据中心频率确定关键参数指宽,并权衡叉指对数对带宽和插入损耗的影响。文章进一步介绍了通过变迹加权优化频率响应,并对比了梯形结构与纵向耦合谐振滤波器等主流结构选型的适用场景与优缺点,为工程师提供从理论计算到仿真验证的完整设计指南。

weixin_29216353的博客 104

华为 MetaERP 通过元数据驱动的多组织架构 + 内部交易协同 + 自动对账引擎 + 合并规则引擎,实现多组织内部往来与合并报表的全流程自动抵消,核心是源头标准化、过程自动化、结果可追溯

摘要: 华为MetaERP通过元数据驱动的多组织架构与主数据标准化,实现内部往来与合并报表全流程自动化。其核心包括:统一组织模型与主数据(确保数据口径一致)、内部交易协同(自动生成对称凭证)、智能对账引擎(多维度自动匹配差异)、合并规则引擎(配置化抵消模板)。依托GaussDB高性能数据库与流批一体架构,华为全球88家子公司合并报表效率提升400%,关账时间缩短至2小时,支持多准则、多币种自动抵消,审计全程可追溯。相比传统ERP,MetaERP在协同性、自动化与扩展性上优势显著,为跨国集团提供高效、准确的合

金牌架构师 264

sql能查到数据,mybatis查不到数据的几种可能

1.映射,未开启驼峰转换 2.前端分页参数错误,可能是0,10

weixin_44071721的博客 2934

数字盲水印嵌入和提取的实现基于小波变换DWT算法

数字盲水印是指在不知道原始图像的情况下,在其上嵌入水印并在后续的提取过程中能够恢复出原始水印的一种技术。本文介绍的数字盲水印嵌入和提取的实现方法基于小波变换DWT算法。具体来讲,DWT将信号或图像进行二次下采样和卷积滤波,使得高频分量的图像信息被集中在一个小区域内,方便进行嵌入和提取操作。其中 a 表示嵌入强度,而 watermark 则是用于嵌入的水印图像,这里我们嵌入的是一个全灰的图像。通过以上的代码,我们可以实现数字盲水印的嵌入和提取,并在一定程度上保护数字图片的版权安全。

HackWhisper的博客 512

解决mybatis查询不报错,但一直查不出数据的问题

问题说明:使用mybatis进行模糊查询,逻辑没有出现问题,编写的sql语句也能在Navicat中查询到数据,运行过程中也不报错,可就是查询不到任何的一条数据 1.控制台打印如下: 2.经过分析,是浏览器传过来的字符编码和连接后台数据库的默认字符编码不一致,导致查询一直没有数据,需要在数据库连接后再加一句characterEncoding=utf-8 3.修改后再次运行,就可以查询到你想要的结果: ...

爱吃鸡腿的明仔 1万+

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

MyBatis Plus 模糊查询报错, 但是不影响返回结果[解决]

@[TOC]MyBatis Plus 查询报错, 但是不影响返回结果) 1 现状 模糊查询报错, 但不影响查询结果 2 报错信息 optimize this sql to a count sql has exception, sql: xxxxxxxxxxxxxxxxxxxxx ...(控制台打印了一串排版很乱的sql语句) xxxxxxxxxxxxxxxxxxxxx , exception: net.sf.jsqlparser.parser.ParseException: Encountered

weixin_53008424的博客 8583

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

mybatis模糊查询,sql语句没错,字符编码没问题,运行不报错,数据库有数据,却查不出结果。

在学习动力节点的mybatis框架时,在做模糊查询的时候遇到了一个问题。明明是有数据,运行也没出错,就是查不出来。翻网上的时候很多人说是字符编码问题,但是我去设置其为utf-8之后还是不行。下方是我的图。 后面在学到打印底层执行代码到控制台的时候,我惊奇地发现,它这个name匹配的居然是我jdbc.properties配置文件的name。(我要做的模糊查询,用的就是名字模糊查询,列名是name)。咱也不懂,为啥这个匹配的是配置文件的name。求大佬解答。所以,我把配置文件的name改成了username,它

qq_62076598的博客 1550

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

mybatis中使用LIKE进行模糊查询(不区分大小写)

mybatis中对于使用like来进行模糊查询的几种方式: (...

wilson_m的博客 1万+

MyBatis模糊查询的4种实现方式

1、根据姓名模糊查询员工信息 1.1、方式一 步骤一:编写配置文件 步骤二:测试 步骤三:分析此种方式需要在调用处手动的去添加“%”通配符。1.2、方式二 说明:使用方式一可以实现模糊查询,但是有一点不方便的地方就是:在测试类中,调用selectList()方法传参时需要调用者手动的添加%号通配符,显然是麻烦的,能否在映射配置文件中直接将%号写好呢?有的朋友可能会这么想,好办,直接在配置文件中这么写:形如1: 测试后发现,程序会报错,原因是:缺少单引号。 这...

shadow_zed的博客 9486

MySQL 模糊查询:MySQL 数据库 like 语句通配符模糊查询小结

今天在使用 MySQL 语句执行增删改查操作时,控制台报出了以下错误:Parameter index out of range (1 > number of parameters, which is 0)。翻译过来意思就是:查到结果数据为 1,真实值应为 0,参数越界,产生错误。如此也就明确了我们具体出错的地方——参数,即对于通配符"?"的处理。本文分别对执行普通 SQL 语句以及使用 like 语句进行通配符模糊查询遇到本错误进行了剖析,并给出解决方案。

白鹿第一帅的 优快云 博客 8734

MyBatis实现模糊查询的几种方式

在学习MyBatis过程中想实现模糊查询,可惜失败了。后来上百度上查了一下,算是解决了。记录一下MyBatis实现模糊查询的几种方式。   数据库表名为test_student,初始化了几条记录,如图:         起初我在MyBatis的mapper文件中是这样写的: <select id="searchStudents" resultType="com.example.e

人生若只如初见 10万+

【mybatis】使用模糊查询时报错:Encountered unexpected token: “?“ “?“

把模糊查询的 sql 语句改为使用 CONCAT 命令拼接, 就不会报错了。

Flying_Ape的博客 708

【详解】mybatis中使用resultMap传递前端多条件(数据库不存在的字段)实现动态sql模糊查询

高级结果映射 MyBatis 创建时的一个思想是:数据库不可能永远是你所想或所需的那个样子。 我们希望每个数据库都具备良好的第三范式或 BCNF 范式,可惜它们并不都是那样。 如果能有一种数据库映射模式,完美适配所有的应用程序,那就太好了,但可惜也没有。 而 ResultMap 就是 MyBatis 对这个问题的答案。 | resultMap– 描述如何从数据库结果集中加载对象,是最复杂也是最强大的元素。 | 话不多说,直接上干货。 示例: fuzzy2 为前端传来的模糊查询...

杨大仙 2563

mybatis模糊查询

模糊查询【重点】 由于模糊查询传入是一个字符串 模糊查询的三种方式 方式一:%${值}% 方式一:注意是一定不能使用#{}没有拼接字符串的作用,会直接当作为%#{值}%一个字符串,所以会报错 select * from t_user where username like '%${username}%'; 方式二:concat('%',#{值},'%') 使用concat函数,来拼接字符串 select * from t_user where username like concat('%',#{use

weixin_47267628的博客 1万+

mybatis的模糊查询,四种方式

1、根据姓名模糊查询员工信息 1.1、方式一 步骤一:编写配置文件 步骤二:测试 步骤三:分析此种方式需要在调用处手动的去添加“%”通配符。1.2、方式二 说明:使用方式一可以实现模糊查询,但是有一点不方便的地方就是:在测试类中,调用selectList()方法传参时需要调用者手动的添加%号通配符,显然是麻烦的,能否在映射配置文件中直接将%号写好呢?有的朋友可能会这么想,好办,直接在配置文件中这么写:形如1: 测试后发现,程序会报错,原因是:缺少单引号。 这个时候,有朋友可能...

星之火可燎原的博客 9650

MyBatis 模糊查询

问题描述 编写SQL,实现根据业务名称,模糊查询业务信息。 解决方案 方案1:SQL里实现 <!-- 通过 projectName 模糊查询数据 --> <select id="findByProjectName" parameterType="String" resultMap="BaseResultMap"> select ...

weixin_30530523的博客 120
上一篇: .NET开发,修改信息时文本框值改变但后台获取的值还是原值BUG
下一篇: request对象和response对象的原理
BraveShadows
博客等级 码龄9年 0粉丝 13原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值