mybatis查询结果封装成map类型
目录
- 场景一、将结果对象存入map对象
- 场景二、将查出数据的其中一列作为map的key,整条数据对象作为map的value
场景一、将结果对象存入map对象
使用场景
查询结果未定义实体类,也不想为它单独定义一个实体类
使用效果
表的字段名
对应map中的key
,字段所属的值
对应map中的value
Mapper接口
public interface UserMapper {Map<String, Object> selectUserById(int id);List<Map<String, Object>> selectUserList();
}
Mapper xml
<mapper namespace="top.jiug.mybatis.mapper.UserMapper"><select id="selectUserById" resultType="map">select id,name,id_card_num,age from t_user where id=#{id}</select><select id="selectUserList" resultType="map">select id,name,id_card_num,age from t_user </select>
</mapper>
查询结果
selectUserById:
{id:1,name:"keffett",id_card_num:"XXX...",age:18
}
selectUserList:
[{id:1,name:"keffett",id_card_num:"XXX...",age:18},...
]
注意
1、Mapper接口
中报红@MapKey is required
不影响程序运行,强迫症者可以百度解决;
2、查询字段名
作为map中的key
并不会将下划线命名转为驼峰命名,如果想要结果为驼峰命名,可通过别名,例如id_card_num as idCardNum
场景二、将查出数据的其中一列作为map的key,整条数据对象作为map的value
使用场景
将查询结果存入map,方便通过某个属性值 (map的key) 快速的获取对象
Mapper接口
public interface UserMapper {@MapKey("idCardNum")Map<String,User> selectMapUseCardNum();
}
Mapper xml
<mapper namespace="top.jiug.mybatis.mapper.UserMapper"><resultMap type="top.jiug.mybatis.model.User" id="userMapping"><result property="id" column="id" /><result property="name" column="name" /><result property="idCardNum" column="id_card_num" /><result property="age" column="age" /></resultMap><select id="selectIdCardNum" resultMap="userMapping">select id,name,id_card_num,age from t_user </select>
</mapper>
查询结果
{"XXX...":{id:1,name:"keffett",idCardNum:"XXX...",age:18},"YYY...":{id:2,name:"jiug",idCardNum:"YYY...",age:19}
}
注意
Mapper xml
中如果想用resultType
代替resultMap
,@MapKey(“value”)
中value需要在SQL中别名为驼峰命名。
mybatis查询结果封装成map类型相关推荐
- MyBatis查询结果resultType返回值类型详细介绍
一.返回一般数据类型 比如要根据 id 属性获得数据库中的某个字段值. mapper 接口: // 根据 id 获得数据库中的 username 字段的值String getEmpNameById(I ...
- hibernate将本地SQL查询结果封装成对象
hibernate将本地SQL查询结果封装成对象 不知道大家有没有碰过这种情况,迫于很多情况只能用native SQL来查询(如:复杂统计等),然而使用native查询后,结果会被放到object里, ...
- java使用集合存储过程_详解java调用存储过程并封装成map
详解java调用存储过程并封装成map 发布于 2020-5-1| 复制链接 摘记: 详解java调用存储过程并封装成map 本文代码中注释写的比较清楚不在单独说明,希望能帮助到大 ...
- mybatis 将sql拼接成String类型的变量当做参数传入执行
mybatis 将sql拼接成String类型的变量当做参数传入执行 mybatis 将sql拼接成String类型的变量当做参数传入执行 遇坑 之前传参数都是使用#{}的方式去传递,这样SQL就能拼 ...
- http get请求参数封装成map
http get请求参数工具类: public class UrlSpiltUtils {/*** 小程序拼接* @param url* @return*/public static String u ...
- Mybatis多参数封装到map中,多条件查询
1.UserMapper接口 package com.william.dao;import com.william.domain.QueryValueObject; import com.willia ...
- Java连接mysql并且用map_jdbc-mysql基础 把查询到的结果集封装成Map的形式
礼悟: 好好学习多思考,尊师重道存感恩.叶见寻根三二一,江河湖海同一体. 虚怀若谷良心主,愿行无悔给最苦.读书锻炼强身心,诚劝且行且珍惜. 数据.数据,命根就在数据.云计算.AI等技术,都是以数据为基 ...
- MyBatis查询结果resultType返回值类型
基本数据类型: xml配置文件: <select id="getUnitNum" resultType="int"> dao层: int getUn ...
- MyBatis查询,返回值Map或ListMap
https://www.cnblogs.com/xiaoliu66007/p/7908181.html 一.返回值Map 1.mapper.xml [html] view plain copy < ...
最新文章
- Animation Override Controller动画重载器
- Linux 基础学习
- Yii2掉index.php?r=
- leetcode1017
- windows版influxDB安装与配置
- access期刊可以重投几次_又被拒稿了?老司机带你一投即中
- java中thread实例_Java多线程2:Thread中的实例方法
- java实现WGS84转其他地图坐标
- 173. 二叉搜索树迭代器(二叉搜索树+栈)
- php 系统环境变量引用,PHP 系统变量 环境变量
- android 获取相机拍照保存到sqlite_OPPO助力谷歌CameraX计划,造福第三方相机应用用户...
- 网络互连与互联网知识点笔记(五)---路由器技术
- 网络渗透技术如何自学,自学黑客要多久
- 切比雪夫多项式拟合 matlab,怎么用Matlab来实现切比雪夫多项式拟合?
- FASTDB中文手册
- 命名空间“xxx”中不存在类型或命名空间名“xxx”(是否缺少程序集引用)
- 华为鸿蒙跑了个“hello world”!跑通后,我特么开始怀疑人生....
- 苹果 Apple Beta 版软件计划 相关软件地址
- 光纤中的多种光学模式芯径_光纤的结构是什么?种类有哪些?该怎么选择?
- 【Task02】Numpy组队学习—随机抽样
热门文章
- Terraform基本介绍(1)
- [附源码]JAVA+ssm基于JAVA语言的国货美妆店管理系统(程序+Lw)
- 【零壹视界】你为什么不那么需要下载了?
- 关于MS OFFICE安装失败、无法卸载干净的完美解决方案
- 别给“花式”这两个字吓倒了
- css 实现边框四个角效果
- lassasymphonie钢琴谱_英文群星6 - Mozart L'opera RockMP3下载
- python画出一个梅花_如何用Python画一棵漂亮的树
- 在web前端的路上,新手就业形势严峻,如何绝地求生?
- Revit二次开发01——环境搭建(附Revit 2018 + Visual Studio 2017下载地址)