如果我有一个mysql连接查询结果集,它是json格式的,如下所示:
[
{
"user_id": 5294147,
"user_name": "rtm",
"user_created": "2020-11-11 12:27:41",
"user_updated": "2020-11-11 12:27:41",
"tag_id": 10002,
"tag_user_id": 5294147,
"tag": "lazy",
"tag_created": "2020-11-11 12:27:41",
"tag_updated": "2020-11-11 12:27:41"
},
{
"user_id": 5294147,
"user_name": "rtm",
"user_created": "2020-11-11 12:27:41",
"user_updated": "2020-11-11 12:27:41",
"tag_id": 10003,
"tag_user_id": 5294147,
"tag": "weak",
"tag_created": "2020-11-11 12:27:41",
"tag_updated": "2020-11-11 12:27:41"
}
]
还有mybatisMap器
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.example.mybatis.mapper.UserMapper">
<resultMap id="UserTag" type="org.example.mybatis.dto.UserTag">
<id column="tag_id" jdbcType="INTEGER" property="id"/>
<result column="tag_user_id" jdbcType="INTEGER" property="userId"/>
<result column="tag" jdbcType="VARCHAR" property="tag"/>
<result column="tag_created" jdbcType="TIMESTAMP" property="created"/>
<result column="tag_updated" jdbcType="TIMESTAMP" property="updated"/>
</resultMap>
<resultMap id="User" type="org.example.mybatis.dto.User">
<id column="user_id" jdbcType="INTEGER" property="id"/>
<result column="user_name" jdbcType="VARCHAR" property="name"/>
<result column="user_created" jdbcType="TIMESTAMP" property="created"/>
<result column="user_updated" jdbcType="TIMESTAMP" property="updated"/>
<collection property="tagList" column="user_id"
notNullColumn="tag_user_id"
javaType="java.util.ArrayList"
ofType="org.example.mybatis.dto.UserTag"
resultMap="UserTag"/>
</resultMap>
<select id="getUserById" parameterType="hashmap" resultMap="User">
select
u.id as user_id,
u.name as user_name,
u.created as user_created,
u.updated as user_updated,
t.id as tag_id,
t.user_id as tag_user_id,
t.tag,
t.created as tag_created,
t.updated as tag_updated
from user u
left join
user_tag t
on
u.id = t.user_id
where u.id = #{userId,jdbcType=INTEGER}
</select>
</mapper>
我不能直接访问这个mysql示例,只能通过某个“代理平台”导出json格式的查询结果,有没有把json转换成 org.example.mybatis.dto.User
通过现有的mybatisMap器很容易?
附言:我试过用mybatis Interceptor
拦截 ResultSetHandler.handleResultSets
,但似乎我必须嘲笑 Statement
以及 ResultSet
1条答案
按热度按时间2ekbmq321#
jooq可以将txt/json/csv转换为resultset