Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Mybatis查询 返回map集合 resultType等于map 及 @Select注解查询返回Map

Mybatis查询 返回map集合 resultType等于map 及 @Select注解查询返回Map

作者头像
oktokeep
发布于 2025-05-29 00:30:41
发布于 2025-05-29 00:30:41
43102
代码可运行
举报
文章被收录于专栏:第三方工具第三方工具
运行总次数:2
代码可运行

Mybatis查询 返回map集合 resultType等于map 及 @Select注解查询返回Map

1.Mybatis查询返回Map不推荐这么来查询,针对特殊场景等简便查询使用。

1.返回一个

代码语言:javascript
代码运行次数:2
运行
AI代码解释
复制
<select id="getReturnMap" parameterType="int" resultType="map">
    select username,address from users where id=#{id}
</select>

Map<String, Object> getReturnMap(int id);

Map map = new().getReturnMap(3);
map.get("username");   //返回  查出来的username

2.返回多个

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<select id="getReturnListMap" parameterType="int" resultType="map">
    select username,address from users
</select>

List<Map<String, Object>> getReturnListMap();

List<Map> list =.getReturnListMap;
list.forEach(map->System.out.println(map));

以下为demo及@Select注解查询返回Map应用: 在MyBatis中,@Select注解通常用于映射SQL查询到Java对象。然而,如果你想将查询结果映射到一个Map而不是一个具体的Java对象,你可以使用@Results和@Result注解来手动指定如何将列映射到Map的键上。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@Mapper
public interface PayMapper{
    //方法1
    Map<String, Object> selectPayInfoByPrimaryKey(@Param("qn") String qn);

    //方法2
    @Select("SELECT " +
            " id,auth_code as authCode,out_order_no as outOrderNo " +
            " FROM tt_pay_center " +
            " WHERE qn = #{qn} " +
            " AND is_delete = 0 ORDER BY id DESC LIMIT 1 ")
    @Results(id = "userMap", value = {
            @Result(property = "id", column = "id"),
            @Result(property = "authCode", column = "authCode"),
            @Result(property = "outOrderNo", column = "outOrderNo")
    })
    Map<String, Object> selectPayInfoByPrimaryKeyV2(@Param("qn") String qn);

    //方法3
    //跟上面的@Results是一样的返回结果。   在方法2的基础上,@Results可以不用写。
    @Select("SELECT " +
            " id,auth_code as authCode,out_order_no as outOrderNo " +
            " FROM tt_pay_center " +
            " WHERE qn = #{qn}  " +
            " AND is_delete = 0 ORDER BY id DESC LIMIT 1 ")
    Map<String, Object> selectPayInfoByPrimaryKeyV3(@Param("qn") String qn);
}

PayMapper.xml

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="com.test.mapper.PayMapper">

    <select id="selectPayInfoByPrimaryKey"  resultType="map">
        SELECT
        id,auth_code as authCode,out_order_no as outOrderNo
        FROM tt_pay_center
        WHERE qn = #{qn}
        AND is_delete = 0 ORDER BY id DESC LIMIT 1
    </select>
    
</mapper>
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-05-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
MyBatis--框架学习
mybatis是一个优秀的基于java的持久层框架,它内部封装了jdbc,使开发者只需要关注sql语句本身,而不需要花费精 去处理加载驱动、创建连接、创建statement等繁杂的过程。
花猪
2022/02/23
6030
MyBatis--框架学习
Mybatis
解决方案: 持久层(DAO)的零实现。所谓的零实现,就是不用写实现类代码,直接使用接口就可以操作数据库。
Carlos Ouyang
2019/08/19
7720
Mybatis
Mybatis 中xml和注解映射,so easy啦
MyBatis 提供了XML配置和注解配置两种方式。今天就来搞搞这两种方式是如何实现的。
田维常
2020/12/14
8840
resultMap 和 resultType的用法和区别详解
作为一位Java博主,我热衷于分享有关MyBatis的知识。在本篇博客中,我将深入探讨MyBatis中的 resultMap 和 resultType 的用法和区别。这两个概念在数据库结果映射中扮演着重要的角色。通过丰富的内容、示例代码以及深入的研究,我们将解开它们的奥秘,以帮助您更好地利用它们在Java应用程序中进行数据映射。
默 语
2024/11/20
2350
MyBatis XML简单理解
其中,namespace用于绑定Mapper接口。不同mapper接口对应到不同的xml。
小锋学长生活大爆炸
2020/09/16
1.1K0
从零开始重新认识 MyBatis
这里 MyBatis 提供多种配置方式,这里我们都采取了最优的方式配置了,注释掉的为其他配置方式。
wsuo
2020/07/31
5660
从零开始重新认识 MyBatis
lagou 爪哇 1-1 mybatis 笔记
Mybatis框架是一个半自动的ORM持久层框架,也可以在Java中实现类似 insert(User)的操作最终操作数据库,但是需要我们自己写Sql语句。Mybatis是目前比较流行的Dao层框架。
acc8226
2022/05/17
8150
MyBatis学习总结(一)——ORM概要与MyBatis快速起步
程序员应该将核心关注点放在业务上,而不应该将时间过多的浪费在CRUD中,多数的ORM框架都把增加、修改与删除做得非常不错了,然后数据库中查询无疑是使用频次最高、复杂度大、与性能密切相关的操作,我们希望得到一种使用方便,查询灵活的ORM框架,MyBatis可以满足这些要求,MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架,它也是SSM框架集成中的重要组成部分。
张果
2018/10/09
9460
MyBatis学习总结(一)——ORM概要与MyBatis快速起步
数据库访问框架 - Mybatis
MyBatis本是apache的一个开源项目iBatis,2010年这个项目由apache software foundation迁移到了google code,并且改名为Mybatis。2013年11月迁移到Github。 iBatis一词源于”internet”和”abatis”的组合,是一个基于Java的持久层框架。iBatis提供的持久层框架包括SQL Maps和Data Access Objects(DAOS)。 mybatis 内部封装了 jdbc,使开发者只需要关注 sql 语句本身,而不需要花费精力去处理加载驱动、创建连接、创建 statement 等繁杂的过程。 mybatis 通过 xml 或注解的方式将要执行的各种 statement 配置起来,并通过 java 对象和 statement 中 sql 的动态参数进行映射生成最终执行的 sql 语句,最后由 mybatis 框架执行 sql 并将结果映射为 java 对象并返回。 采用 ORM 思想解决了实体和数据库映射的问题,对 jdbc 进行了封装,屏蔽了 jdbc api 底层访问细节,使我们不用与 jdbc api 打交道,就可以完成对数据库的持久化操作。
兜兜转转
2023/03/29
5.6K0
数据库访问框架 - Mybatis
mybatis映射器之select
select元素是最常用的,也是功能最强大的元素。他的功能就是执行select查询,可以动态设定入参,还可以把resultset的数据转为指定的javabean。
zhangheng
2020/04/28
8770
轻松掌握Mybatis(上)
全局配置文件中主要配置的是数据源信息,然后是最后的mappers标签,该标签配置的是sql语句的映射文件。
wangweijun
2022/01/10
5860
Mybatis的基本使用方法
  XML配置文件的名称通常为mybatis-config.xml,内容基本格式如下:
林老师带你学编程
2019/05/26
6070
MyBatis学习总结(二)——MyBatis核心配置文件与输入输出映射
在上一章中我们学习了《MyBatis学习总结(一)——ORM概要与MyBatis快速起步》,这一章主要是介绍MyBatis核心配置文件、使用接口+XML实现完整数据访问、输入参数映射与输出结果映射等内容。
张果
2018/10/09
1.4K0
MyBatis学习总结(二)——MyBatis核心配置文件与输入输出映射
Mybatis 入门 (二)
resultMap:当查询字段名与Bean对象属性名不一致时,需要配置resultMap与Bean属性的对应关系,才能映射
晚上没宵夜
2020/03/11
3740
mybatis笔记整理mybatis的基本用法及配置:
mybatis的基本用法及配置: 本文涉及知识点: 1、mybatis入门 2、配置版CRUD 3、关联查询(1:1&1:n) 4、注解版CRUD 5、注解版关联查询 6、sql语句构建器版
贪挽懒月
2018/05/18
1.7K0
MyBatis系列之模糊查询(注解方式+映射文件方式)
本博客以一个demo的形式说明模糊查询实现的两种方法: 项目结构如图: ConditionUser.java: package com.mybatis.entity; public class ConditionUser { private String name; private int minAge; private int maxAge; public ConditionUser(String name,int minAge,int maxAge){ this.nam
SmileNicky
2022/05/07
5500
MyBatis系列之模糊查询(注解方式+映射文件方式)
MyBatis笔记
**API接口:**提供给外部使用的API接口,开发人员使用本地API接口操作数据库。接口层一收到调用请求,就会调用数据处理层进行具体的数据处理。
腿子代码了
2023/12/24
3550
MyBatis笔记
MyBatis 极速入门
持久化是将程序数据在持久状态和瞬时状态间转换的机制。即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘)。持久化的主要应用是将内存中的对象存储在数据库中,或者存储在磁盘文件中、XML数据文件中等等。JDBC就是一种持久化机制。文件IO也是一种持久化机制。
sowhat1412
2020/11/05
3.2K0
MyBatis 极速入门
硬菜要软着吃?不如试试这篇【MyBatis】
大家好,我是小菜,一个渴望在互联网行业做到蔡不菜的小菜。可柔可刚,点赞则柔,白嫖则刚!「死鬼~看完记得给我来个三连哦!」
蔡不菜丶
2020/11/11
4960
硬菜要软着吃?不如试试这篇【MyBatis】
MyBatis简单的增删改查以及简单的分页查询实现[通俗易懂]
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/116205.html原文链接:https://javaforall.cn
全栈程序员站长
2022/07/07
3010
相关推荐
MyBatis--框架学习
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验