SELECT
id, username, name, sex, tel, email, hiredate, role, dept_id AS deptId, status,
AES_DECRYPT(UNHEX(password),username) AS password
FROM
tb_user
WHERE id=#{userId}
使用同样的SQL语句,在项目中使用和在Mysql中查询的结果发现,加密解密部分内容在mybatis中会出现乱码的情况,以至于后续调用的不便。
解决方法:
加入cast,将加密解密部分作为一个整体的char。
SELECT
id, username, name, sex, tel, email, hiredate, role, dept_id AS deptId, status,
CAST(AES_DECRYPT(UNHEX(password),username) AS CHAR ) AS password
FROM
tb_user
WHERE id=#{userId}
结果:成功的将其还原成了字符串。