Mybatis mysql json 返回map类型乱码
代码如下:
<select id="select" resultType="java.util.HashMap" >
SELECT
JSON_UNQUOTE( JSON_EXTRACT( t.ext, '$.name' ) ) AS NAME,
JSON_UNQUOTE( JSON_EXTRACT( t.ext, '$.age' ) ) AS age
FROM
t_table
</select >
List<Map<String, Object>> select();
原因:mysql 解析后的json mybatis 识别为了object类型所以造成了乱码
解决方案构建临时表:
<select id="select" resultType="java.util.HashMap" >
select name,age from (
SELECT
JSON_UNQUOTE( JSON_EXTRACT( t.ext, '$.name' ) ) AS name,
JSON_UNQUOTE( JSON_EXTRACT( t.ext, '$.age' ) ) AS age
FROM
t_table
) t
</select >