目的:在一个查询接口里面,返回一个人的信息,以及这个人所携带的东西的信息,返回效果如下:

{
"msg": {
"listMain": [
{
"id": "dd4a2f49b9c94196b065d425e1338ec4",
"userName": "张三",
"age": 24,
"sex": "男",
"list": [
{
"listid": "39f5d745751c97e4efadc7b92559",
"mainId": "dd4a2f49b9c94196b065d425e1338ec4",
"username": "张三的手机"
},
{
"listid": "hvbhu515e751c97e4efadc7b92663",
"mainId": "dd4a2f49b9c94196b065d425e1338ec4",
"username": "张三的书包"
}
]
}
]
}
}

实现方法:通过mybatis即可实现

<resultMap id="BaseResultMap" type="com.mihutao.pojo.userInfo">
<id column="id" jdbcType="VARCHAR" property="id"/>
<id column="userName" jdbcType="VARCHAR" property="user_name"/>
<id column="age" jdbcType="VARCHAR" property="age"/>
<id column="sex" jdbcType="VARCHAR" property="sex"/>
<collection property="flows" column="id"
ofType="com.mihutao.pojo.userThing"
select="com.mihutao.mapper.flowMapper.selectFlowById">
</collection>
//conllection这个标签就是在返回值里面引入list的方法
//其中flows是对应userInfo这个实体类的一个List字段
//oftype指的是返回的内部list接收的实体类
//select指的是另一个xml里面的查询方法,将collection中column的id传入到selectFlowById中
//总结就是将collection中column="id"传入到selectFlowById中,返回值装入ofType="com.mihutao.pojo.userThing"最后这一个list放入property="flows"这个字段中
</resultMap>
<sql id="selectUserVo">
select id, user_name,age from user_info
</sql>

<select id="selectUserInfo" resultMap="BaseResultMap">
<include refid="selectUserVo"></include>
</select>

其中userInfo实体类中flows的写法如下

private List<Flow> Flows = new ArrayList<>();

mybatis中返回一个List字段的更多相关文章

  1. 【mybatis】mybatis中 返回map集合

    关于mybatis返回map集合的操作: 1.mapper.xml中写一个查询返回map的sql <select id="findMap" parameterType=&qu ...

  2. Mybatis中返回Map

    在Mybatis中,我们通常会像下边这样用: 返回一个结果 User selectOne(User user); <select id="selectOne" paramet ...

  3. MyBatis中返回List

    一般情况下,我们需要返回一个List 在Dao层定义: List<TbAddress> selectAll(); 那么在对应的mapper文件中,应该如下: <select id=& ...

  4. mybatis中返回自动生成的id

    当有时我们插入一条数据时,由于id很可能是自动生成的,如果我们想要返回这条刚插入的id怎么办呢. 在mysql数据中我们可以在insert下添加一个selectKey用以指定返回的类型和值:     ...

  5. SQL中返回一个字符串在另一个中存在的次数

    ALTER FUNCTION [reg].[f_GetSameStringCntNoSort] ( @str1 VARCHAR(),--源字符串,取该串中的@strLen长度的字符是否在目的字符串 @ ...

  6. mybatis中传入一个List集合作为查询条件的参数

    如果有一个查询参数有多个,用一个List集合传进去,这个mapper文件可以这么写 <select id="queryList04" resultType="map ...

  7. 关于mybatis中传入一个List,字符串数组,或者Map集合作为查询条件的参数

    一.入参为List的写法: <select id="queryParamList" resultType="map" parameterType=&quo ...

  8. nodejs怎么同步从一个数据库查询函数中返回一个值

    var sql=require('msnodesql'); var conn_str="Driver={SQL Server Native Client 11.0};Server={127. ...

  9. MVC中的Controller中返回一个JsonResult在弹出一个下载框?

    public JsonResult ReturnTest() { return Json(new {myMsg ="hello world"}, "text/html; ...

随机推荐

  1. Python Turtle库绘制蟒蛇

    使用Python Turtle库来绘制蟒蛇 import turtle引入了海龟绘图体系 使用setup函数,设定了一个宽650像素和高350像素的窗体,其位置左上角坐标是200,200 说明位置在距 ...

  2. 微信小程序和公众号和H5之间相互跳转

    参考链接:https://www.imooc.com/article/22900 一.小程序和公众号 答案是:可以相互关联. 在微信公众号里可以添加小程序. 可关联已有的小程序或快速创建小程序.已关联 ...

  3. P7683 [COCI2008-2009#5] KRUSKA

    洛谷上这道题的第一篇题解.上海加油. 题目大意 Aladdin 已经厌倦了宫殿里的生活.他有一份稳定的工作,他的妻子 Jasmine 和孩子们都在路上,生活变得单调.在这一切的驱使下,他决定在安顿下来 ...

  4. Map的key是否可重复

    我们都知道Map的一大特性是key唯一不可重复,可是真的是这样的吗? 我们来试验一下: 运行结果: 我们可以看到在map里有两个同样的person作为key,打破了map的key不可重复的特性. 我们 ...

  5. Typora中Markdown学习

    Typora中Markdown学习 标题 可以自己设置标题级数,且各标题之间可在大纲处看到鲜明的层级关系,非常方便清楚. "#"--一级标题 "##"--二级标 ...

  6. 使用 Prometheus Alertmanager 模块发送 Doris 异常信息至钉钉报警群

    基础环境 1.Prometheus 版本:2.22.2 下载地址: https://github.com/prometheus/prometheus/releases/download/v2.22.2 ...

  7. 基于.NetCore开发博客项目 StarBlog - (2) 环境准备和创建项目

    系列文章 基于.NetCore开发博客项目 StarBlog - (1) 为什么需要自己写一个博客? 基于.NetCore开发博客项目 StarBlog - (2) 环境准备和创建项目 ... 基于. ...

  8. Http GET 请求参数中文乱码

    两种解决方式 第1种:代码里转换 String name = request.getParamter("name"); String nameUtf8 = new String(n ...

  9. VMware安装Ubuntu20(图文教程,超详细)

    VMware安装Ubuntu20(图文教程,超详细) 此文讲述使用 VMware 工具安装 Ubuntu 系列虚拟机,不同位数和不同版本的 Ubuntu 安装过程相差无几,这里以 Ubuntu20 6 ...

  10. kernel UAF && tty_struct

    kernel UAF && 劫持tty_struct ciscn2017_babydriver exp1 fork进程时会申请堆来存放cred.cred结构大小为0xA8.修改cred ...