1.结果封装为List<Object>

接口示例:

public List<Members> selectMembersListByName(String name);

配置文件示例:

    <select id="selectMembersListByName" resultType="members">
select * from members where member_name like #{member_name}
</select>

运行结果:

[Member [id=3, member_name=关云长, password=123456, age=54], Member [id=4, member_name=关云长, password=123456, age=54]]

返回值类型resultType还是对象类型并不是list,mybatis会自动将对象封装成list集合

2.将单条记录封装成Map<String,Object>,其中key就是表的列名,value就是对应的值

接口示例:

public Map<String, Object> selectMembersByIdReturnMap(Integer id);

配置文件示例:

其中resultType是map,因为mybatis为常用类已经起了别名(typeAliases)

    <select id="selectMembersByIdReturnMap" resultType="map">
select * from members where id = #{id}
</select>

运行结果:

{pass_word=123456, id=1, member_name=张三, age=25}

3.将多条记录封装成Map其中key是我们指定字段的名字,value是记录对象Map<String,Members>

接口示例:

@MapKey就是指定map中key是什么

    @MapKey("id")
public Map<String, Members> selectMembersByNameReturnMap(String name);

配置文件示例:

返回值类型还是对象

    <select id="selectMembersByNameReturnMap" resultType="members">
select * from members where member_name like #{member_name}
</select>

运行结果:

{3=Member [id=3, member_name=关云长, password=123456, age=54], 4=Member [id=4, member_name=关云长, password=123456, age=54]}

关于Mybatis查询结果的封装的更多相关文章

  1. mybatis查询语句的背后之封装数据

    转载请注明出处... 一.前言 继上一篇mybatis查询语句的背后,这一篇主要围绕着mybatis查询的后期操作,即跟数据库交互的时候.由于本人也是一边学习源码一边记录,内容难免有错误或不足之处,还 ...

  2. mybatis查询语句的背后

    转载请注明出处... 一.前言 在先了解mybatis查询之前,先大致了解下以下代码的为查询做了哪些铺垫,在这里我们要事先了解,myabtis会默认使用DefaultSqlSessionFactory ...

  3. mybatis查询语句的背后之参数解析

    转载请注明出处... 一.前言 通过前面我们也知道,通过getMapper方式来进行查询,最后会通过mapperMehod类,对接口中传来的参数也会在这个类里面进行一个解析,随后就传到对应位置,与sq ...

  4. MyBatis查询结果resultType返回值类型详细介绍

    一.返回一般数据类型 比如要根据 id 属性获得数据库中的某个字段值. mapper 接口: // 根据 id 获得数据库中的 username 字段的值 String getEmpNameById( ...

  5. MySQL和mybatis查询相关

    0.mybatis的xml文件头 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapp ...

  6. mybatis 查询 xml list参数

    mybatis 查询 xml list参数: <select id="getByIds" resultType="string" parameterTyp ...

  7. MyBatis 查询映射自定义枚举

    背景                  MyBatis查询若想映射枚举类型,则需要从 EnumTypeHandler 或者 EnumOrdinalTypeHandler 中选一个来使用         ...

  8. mybatis查询异常-Error querying database. Cause: java.lang.ClassCastException: org.apache.ibatis.executor.ExecutionPlaceholder cannot be cast to java.util.List

    背景,mybatis查询的时候直接取的sqlsession,没有包装成SqlSessionTemplate,没有走spring提供的代理. 然后我写的获取sqlsession的代码没有考虑到并发的情况 ...

  9. mybatis查询结果和接收的不一样

    记一次大坑:mybatis查询结果和接收的不一样,折腾我好几个小时. 先上代码:代码是要查询排名,sql执行的结果 SELECT b.operator_id, b.class_count, b.cla ...

随机推荐

  1. 利用单臂路由实现vlan间路由

    本实验模拟公司场景 通过路由器实现不同vlan部门间通讯,拓扑图如下

  2. python 线程创建和传参(28)

    在以前的文章中虽然我们没有介绍过线程这个概念,但是实际上前面所有代码都是线程,只不过是单线程,代码由上而下依次执行或者进入main函数执行,这样的单线程也称为主线程. 有了单线程的话,什么又是多线程? ...

  3. CVE-2019-2725修复(删包)

    本来想试试打补丁,但是有些麻烦,而且oracle补丁黑名单的方式总不让人放心. 因此考虑直接删除相关的包. 该方式适用于xmldecoder漏洞系列,如CVE-2017-3506.CVE-2017-1 ...

  4. 【转帖】K8S Deployment 命令

    K8S Deployment 命令 https://www.cnblogs.com/Tempted/p/7831604.html 今天学习了一下 kubectl scale deployment xx ...

  5. c# 事件 +=和-=有什么区别

    +=就是發生新事件的同時通知你: -=就是發生新事件的同時不通知你:

  6. DeepID_V2解读

    港中文汤晓鸥团队在DeepID_v1基础上提出的新版本架构,发表于NIPS2014 一.Architecture 网络架构基本上与DeepId_v1一致. 二.Pipeline 图片被分成20regi ...

  7. 洛谷P3372--线段树代码模板1

    如题,已知一个数列,你需要进行下面两种操作: 1.将某区间每一个数加上x 2.求出某区间每一个数的和 输入格式 第一行包含两个整数N.M,分别表示该数列数字的个数和操作的总个数. 第二行包含N个用空格 ...

  8. 【转载】 C#使用String.Format拼接字符串

    在C#程序开发过程中,很多时候会使用字符串拼接,最简单的字符串拼接操作就是所有的字符串使用加号+相加连接起来,但这种代码形式非常不适合代码维护阅读,尤其是拼接字符串语句比较复杂的时候,如拼接SQL语句 ...

  9. wepy框架 怎么在template模板中使用函数

    呵呵.介绍说是类似vue,用起来真累人,就想在模板中使用个函数都要查N久的文档才知道. 具体要怎么操作呢? 要先创建个wxs脚本文件,在里面定义函数或其它的,然后在页面或组件中引入这文件,就可以在模板 ...

  10. python day1 python介绍,安装及运算符

    目录 python day1 1. 不同编程语言的对比 2. 为什么学python? 3. python的种类 4. python的安装(windows系统) 5. 导入模块或包 6. pyc文件 7 ...