关于mybatis的思考(3)——ResultMaps的使用

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的使用的更多相关文章
- MyBatis(3.2.3) - ResultMaps: Extending ResultMaps
ResultMaps are used to map the SQL SELECT statement's results to JavaBeans properties. We can define ...
- 关于mybatis的思考(2)——mybatis映射文件的深入理解
1.配置文件 mybatis进行持久化操作是以SqlSessionFactory对象为基础的,这个对象是整个数据库映射关系经过编译后的内存镜像. InputStream inputStream = R ...
- 关于mybatis的思考(1)——mybatis的使用实例
架构分析 MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架. MyBatis 消除了几乎所有的 JDBC 代码和参数的手工设置以及对结果集的检索.MyBatis 可以使用简 ...
- Java Persistence with MyBatis 3(中文版) 第三章 使用XML配置SQL映射器
关系型数据库和SQL是经受时间考验和验证的数据存储机制.和其他的ORM 框架如Hibernate不同,MyBatis鼓励开发者可以直接使用数据库,而不是将其对开发者隐藏,因为这样可以充分发挥数据库服务 ...
- Mybatis_day3
三 使用XML配置SQL映射器(映射文件) 关系型数据库和SQL是经受时间考验和验证的数据存储机制.和其他的ORM 框架如Hibernate不同,[MyBatis鼓励]开发者可以直接[使用数据库],而 ...
- 初学源码之——银行案例手写IOC和AOP
手写实现lOC和AOP 上一部分我们理解了loC和AOP思想,我们先不考虑Spring是如何实现这两个思想的,此处准备了一个『银行转账」的案例,请分析该案例在代码层次有什么问题?分析之后使用我们已有知 ...
- Mybatis的mapper文件引起模块划分的思考
起因:项目中将公用的代码抽离到单独一个项目 cms-common.jar (注:公用的代码不只是工具类代码,包含service和dao等) 构建:每次构建项目 cms.war 的时候,需要引入cms- ...
- 关于Mybatis的一次pingQuery时间间隔的实践及思考
转眼间离这次问题的实践过程已经过去了一两个月了,现在想来自己的问题并不是不知道那么简单了,所以很有必要记录下来,算是一次警戒吧 废话不多说,直入主题. 我的直接上级准备将公司的后台管理系统由PHP转为 ...
- Mybatis逆向工程 —— ResultMaps collection already contains value for ***
报错提示: Result Maps collection already contains value for ***. 遭遇场景: maven+ssm 项目中,采用了mybatis的逆向工程生成 p ...
随机推荐
- centos下安装myrocksdb
承接上一篇,https://www.cnblogs.com/lunyu/p/10190364.html .编译安装myrocks的整个过程,特别是第2步和第7步,让人冗长难耐.因此编译安装成功后省去这 ...
- delphi黑色背景模式
uses Vcl.Styles, vcl.Themes; procedure TForm1.FormCreate(Sender: TObject); begin TStyleManager.LoadF ...
- hive函数篇一
hive 查看函数: show functions; desc functions 函数名 1. 时间函数 1.1 时间戳函数--日期转时间戳:从1970-01-01 00:00:00 UTC到指定 ...
- 可用的ntp服务器
操作系统中带的:time.windows.com 和 time.nist.gov 网上查到一个公共的:cn.ntp.org.cn 以上三个连接多次才成功一次,速度不好. 在移动电视盒子上有一个配置: ...
- pythonDjango开发-自定义模板标签
1.在APP同级目录新建文件夹'templatetags' 并在文件夹下创建__init__.py和定义标签用的customer.py文件 2.在customer.py文件中定义自定义标签 from ...
- PyQt5在QWidget窗体中显示Qwidget的自定义类(补:完美解决)
[概览] 1.显示原生Qwidget 1)不使用布局(绝对定位) 2)使用布局 2.显示Qwidget的自定义类 1)不使用布局(绝对定位) 2)使用布局 [知识点] 1.显示原生Qwid ...
- 5 功能4:个人站点页面设计(ORM跨表与分组查询)
1.个人站点页面文章的查询 # 个人站点 http://www.cnblogs.com/wh1520577322/ http://www.cnblogs.com/liucong12345/ http: ...
- 如何创建XHTML表单
首先奉上本菜曾经的作业——一张模仿智联招聘中的注册表单.虽然没有加样式显得很难看,但表单的基本要素已经具备了. 接下来进入正文,开始介绍各表单元素 form标签: 在创建表单时,第一步就是form标签 ...
- Python读取文件编码解码问题
用chardet检测编码 import chardet raw = open("model.json", 'rb').read() result = chardet.detect( ...
- Unity扩展编辑器三
Scene视图是编辑游戏模型的地方,其实它还可以进行编辑,如下图所示,我给Scene视图做了简单的编辑 Scene视图的扩展是基于对象的,意思是你必须在Hierarchy视图中选择一个对象才行,Hie ...