Closed okayangel closed 3 months ago
你的typehandler别加入spring,你把mybatis的默认string的typehandler顶掉了
你的typehandler别加入spring,你把mybatis的默认string的typehandler顶掉了
就是想实现密钥通过配置文件设置,如果写死在代码中是没有问题
@okayangel 看起来你的 CryptoUtils 配置项入侵的太深了,在 Repo 层注入后搞不就行了?如果多个地方要用,就抽象个 BaseRepo 不就行了...
当前使用版本 3.5.1 当前环境信息 Java8 + Mysql5.7
描述bug现象 通过自定义TypeHandler实现数据库字段加解密,加密密钥通过spring注入后,使用QueryWrapper添加的查询条件,传入的值全部自动进行了加密,没有设置typehandler的列也加密了。
在没有通过Spring注入的时候,将密钥写死,不会出现这个问题
提供问题复现步骤
调用queryDtoPage查询时,传入的keyword是未加密的值,执行的语句在日志中显示已经加传入的值进行了加密。
提供完整堆栈日志(可选) 2024-07-08 16:03:31.598 [TID: N/A] [XNIO-1 task-1] DEBUG c.f.m.p.g.d.G.queryDtoPage_mpCount -==> Preparing: SELECT COUNT(*) AS total FROM t_clinician WHERE (t_clinician.Clinician_No LIKE ?) 1371951 2024-07-08 16:03:32.339 [XNIO-1 task-1] DEBUG cn.med.dao.ClinicianDao.queryDtoPage_mpCount [137] - ==> Parameters: ZoGjZjFZ3Pv+XuaEj7giow==(String) 2024-07-08 16:03:32.339 [TID: N/A] [XNIO-1 task-1] DEBUG c.f.m.p.g.d.G.queryDtoPage_mpCount -==> Parameters: ZoGjZjFZ3Pv+XuaEj7giow==(String)
提供问题复现工程(可选) 请尽量提供复现工程,减少大家排错的时间.