ResultMap元素在mybatis中非常重要,目的是告诉mybatis将从结果集中取出的数据转换为开发者需要的对象。

    UserMapping.xml

    <!-- selectAll操作
resultType="map"表示返回的是一个map对象 -->
<select id="selectAll" resultType="map">
select * from tb_user
</select>

SelectMapTest.java

/**
* fayuan.com Inc.
* Copyright (c) 2017-2018 All Rights Reserved.
*/
package com.fayuan.test; import com.fayuan.factory.SqlSessionFactoryClass;
import org.apache.ibatis.session.SqlSession; import java.util.List;
import java.util.Map; /**
* 测试ResultMaps功能
*
* @author fayuan.fzw
* @version $Id: SelectMapTest.java, v 0.1 2018年02月25日 下午11:54 fayuan.fzw Exp $
*/
public class SelectMapTest {
public static void main(String[] args) { SqlSession sqlSession = SqlSessionFactoryClass.getSqlSession(); List<Map<String, Object>> list = sqlSession.selectList("com.fayuan.mapper.UserMapper.selectAll"); for (Map<String, Object> row : list) {
System.out.println(row);
} sqlSession.close();
}
}

  执行打印出来的日志:

DEBUG [main] - ==>  Preparing: select * from tb_user
DEBUG [main] - ==> Parameters:
DEBUG [main] - <== Total: 6
{sex=?, name=fayuan, id=2, age=24}
{sex=?, name=fayuan, id=3, age=24}
{sex=?, name=fayuan, id=4, age=24}
{sex=?, name=fayuan, id=5, age=24}
{sex=?, name=fayuan, id=6, age=24}
{sex=?, name=fayuan, id=7, age=24}

  

  

关于mybatis的思考(3)——ResultMaps的使用的更多相关文章

  1. MyBatis(3.2.3) - ResultMaps: Extending ResultMaps

    ResultMaps are used to map the SQL SELECT statement's results to JavaBeans properties. We can define ...

  2. 关于mybatis的思考(2)——mybatis映射文件的深入理解

    1.配置文件 mybatis进行持久化操作是以SqlSessionFactory对象为基础的,这个对象是整个数据库映射关系经过编译后的内存镜像. InputStream inputStream = R ...

  3. 关于mybatis的思考(1)——mybatis的使用实例

    架构分析 MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架. MyBatis 消除了几乎所有的 JDBC 代码和参数的手工设置以及对结果集的检索.MyBatis 可以使用简 ...

  4. Java Persistence with MyBatis 3(中文版) 第三章 使用XML配置SQL映射器

    关系型数据库和SQL是经受时间考验和验证的数据存储机制.和其他的ORM 框架如Hibernate不同,MyBatis鼓励开发者可以直接使用数据库,而不是将其对开发者隐藏,因为这样可以充分发挥数据库服务 ...

  5. Mybatis_day3

    三 使用XML配置SQL映射器(映射文件) 关系型数据库和SQL是经受时间考验和验证的数据存储机制.和其他的ORM 框架如Hibernate不同,[MyBatis鼓励]开发者可以直接[使用数据库],而 ...

  6. 初学源码之——银行案例手写IOC和AOP

    手写实现lOC和AOP 上一部分我们理解了loC和AOP思想,我们先不考虑Spring是如何实现这两个思想的,此处准备了一个『银行转账」的案例,请分析该案例在代码层次有什么问题?分析之后使用我们已有知 ...

  7. Mybatis的mapper文件引起模块划分的思考

    起因:项目中将公用的代码抽离到单独一个项目 cms-common.jar (注:公用的代码不只是工具类代码,包含service和dao等) 构建:每次构建项目 cms.war 的时候,需要引入cms- ...

  8. 关于Mybatis的一次pingQuery时间间隔的实践及思考

    转眼间离这次问题的实践过程已经过去了一两个月了,现在想来自己的问题并不是不知道那么简单了,所以很有必要记录下来,算是一次警戒吧 废话不多说,直入主题. 我的直接上级准备将公司的后台管理系统由PHP转为 ...

  9. Mybatis逆向工程 —— ResultMaps collection already contains value for ***

    报错提示: Result Maps collection already contains value for ***. 遭遇场景: maven+ssm 项目中,采用了mybatis的逆向工程生成 p ...

随机推荐

  1. 2018-11-26 BIG DATA ANALYSIS

  2. uboot的静默编译、指定编译目录、多核编译

    最近在移植uboot,发现每次看源代码,都有编译留下的.o 等各种文件,在百度中,找到了解决方法. 在顶层的Makefile文件中,大概80多行,有这么几句注释, # kbuild supports ...

  3. 【Mac 快捷键】 (不定时持续更新)

    显示/取消显示隐藏文件 command + shift + .

  4. 筑基期—C语言

    1.1 环境: 在ANSIC的任何一种是实现中,存在两种不同的环境.第一种是翻译环境,第二种是执行环境.标准明确说明这两种环境不必在同一台机器上,交叉编译器就是在一台机器上运行,但它所产生的可执行代码 ...

  5. Lua 语言学习

    详细讲解见菜鸟教程 Lua. 一.数据类型 -- 直接输出 print("hello") -- 全局变量 b = print(b) -- nil(空) print(type(a)) ...

  6. Autovacuum 的运行限制

    磨砺技术珠矶,践行数据之道,追求卓越价值 回到上一级页面:PostgreSQL内部结构与源代码研究索引页    回到顶级页面:PostgreSQL索引页 作者:高健@博客园  luckyjackgao ...

  7. OpenStack入门篇(二十二)之实现阿里云VPC的SDN网络

    1.修改/etc/neutron/neutron.conf配置 [root@linux-node1 ~]# vim /etc/neutron/neutron.conf [defalut] ... co ...

  8. while、for循环控制之if、else

    if # score=99 # if score>90: # print('优秀') # elif score<60: # print('不及格') # else: # print('良好 ...

  9. python 读取csv中的文件,从sftp下载文件

    需要从sftp上下载一些图片文件,文件名存放在一个csv文件中.代码如下: # -*- coding:utf-8 -*- import paramiko import csv import os de ...

  10. Jmeter性能指标分析

    以下是下载了服务器监控插件的各个组件的功能介绍,有助于以后jmeter的性能测试 1.jp@gc - Actiive Threads Over Time:不同时间的活动用户数量展示(图表) 当前的时间 ...