Loading [MathJax]/jax/input/TeX/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
71202
代码可运行
举报
文章被收录于专栏:第三方工具第三方工具
运行总次数: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 删除。

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
❤️爆肝六万字最全总结Java数据库编程MyBatis(建议收藏)
相关代码已上传到Gitee,欢迎start! https://gitee.com/the_efforts_paid_offf/java/tree/master/ssm_db1
Maynor
2021/12/07
5830
❤️爆肝六万字最全总结Java数据库编程MyBatis(建议收藏)
Mybatis的基本使用方法
  XML配置文件的名称通常为mybatis-config.xml,内容基本格式如下:
林老师带你学编程
2019/05/26
6170
从零开始重新认识 MyBatis
这里 MyBatis 提供多种配置方式,这里我们都采取了最优的方式配置了,注释掉的为其他配置方式。
wsuo
2020/07/31
5860
从零开始重新认识 MyBatis
MyBatis-resultType参数
resultType 属性可以指定结果集的类型,它支持基本类型和实体类类型。 需要注意的是,它和 parameterType 一样,如果注册过类型别名的,可以直接使用别名。没有注册过的必须使用全限定类名。
星哥玩云
2022/09/14
3670
resultMap 和 resultType的用法和区别详解
作为一位Java博主,我热衷于分享有关MyBatis的知识。在本篇博客中,我将深入探讨MyBatis中的 resultMap 和 resultType 的用法和区别。这两个概念在数据库结果映射中扮演着重要的角色。通过丰富的内容、示例代码以及深入的研究,我们将解开它们的奥秘,以帮助您更好地利用它们在Java应用程序中进行数据映射。
默 语
2024/11/20
2910
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
5660
MyBatis系列之模糊查询(注解方式+映射文件方式)
Mybatis必会(详细精美版,保姆级讲解,带Java示例)
5. 修改 mybatis 的配置文件 , 让该配置文件知道 mapper 文件的存在
编程张无忌
2021/01/26
9710
Mybatis必会(详细精美版,保姆级讲解,带Java示例)
后端技术:mybatis中resultMap用法示例笔记
resultMap属于mybatis返回操作结果的一个标签,可以用来映射select查询出来结果的集合,主要作用是将实体类中的字段与数据库表中的字段进行关联映射。并且支持复杂的返回结果类型。
小明互联网技术分享社区
2021/07/21
7580
MyBatis学习总结(二)——MyBatis核心配置文件与输入输出映射
在上一章中我们学习了《MyBatis学习总结(一)——ORM概要与MyBatis快速起步》,这一章主要是介绍MyBatis核心配置文件、使用接口+XML实现完整数据访问、输入参数映射与输出结果映射等内容。
张果
2018/10/09
1.5K0
MyBatis学习总结(二)——MyBatis核心配置文件与输入输出映射
MyBatis学习总结(一)——ORM概要与MyBatis快速起步
程序员应该将核心关注点放在业务上,而不应该将时间过多的浪费在CRUD中,多数的ORM框架都把增加、修改与删除做得非常不错了,然后数据库中查询无疑是使用频次最高、复杂度大、与性能密切相关的操作,我们希望得到一种使用方便,查询灵活的ORM框架,MyBatis可以满足这些要求,MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架,它也是SSM框架集成中的重要组成部分。
张果
2018/10/09
9870
MyBatis学习总结(一)——ORM概要与MyBatis快速起步
MyBatis简单的增删改查以及简单的分页查询实现[通俗易懂]
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/116205.html原文链接:https://javaforall.cn
全栈程序员站长
2022/07/07
3070
CRUD 程序猿的 Mybatis 进阶
通过对 product 表进行 CRUD 操作,来梳理 Mybatis 动态标签 <if>、<where>、<foreach>、<trim>、<set>、<choose>、<when>、<otherwise> 的用法。
SupremeSir
2020/12/11
3780
Mybatis(一)走进Mybatis与FisrtExample
一直在使用,从未系统的总结起来。所以这里给大家带来的是mybatis的总结,系统大家能够对这个框架有一定的系统的学习与认识。 mybatis和Hibernate应该是现在主流的ORM框架了。 mybatis学习的步骤: mybatis入门 --> 全局配置文件和映射文件详解 --> 高级映射(一对一,一对多,多对多) -->延迟加载机制 -->一级缓存, 二级缓存(整合ehcache) --> spring整合mybatis --> 逆向工程
用户1195962
2018/08/02
7480
Mybatis(一)走进Mybatis与FisrtExample
MyBatis —— 参数处理
指定参数名,多个参数还是封装一个map,但是此时key 使用的是@Param注解指定的值通过#{指定的key} 从map中获取指定的参数值
桑鱼
2020/03/18
7190
Mybatis基础
虽然我们能够通过JDBC来连接和操作数据库,但是哪怕只是完成一个SQL语句的执行,都需要编写大量的代码,更不用说如果我还需要进行实体类映射,将数据转换为我们可以直接操作的实体类型,JDBC很方便,但是还不够方便。
用户9645905
2023/10/29
4480
Mybatis基础
Mybatis 入门 (二)
resultMap:当查询字段名与Bean对象属性名不一致时,需要配置resultMap与Bean属性的对应关系,才能映射
晚上没宵夜
2020/03/11
3850
mybatis笔记整理mybatis的基本用法及配置:
mybatis的基本用法及配置: 本文涉及知识点: 1、mybatis入门 2、配置版CRUD 3、关联查询(1:1&1:n) 4、注解版CRUD 5、注解版关联查询 6、sql语句构建器版
贪挽懒月
2018/05/18
1.7K0
Mybatis
解决方案: 持久层(DAO)的零实现。所谓的零实现,就是不用写实现类代码,直接使用接口就可以操作数据库。
Carlos Ouyang
2019/08/19
7940
Mybatis
16-MyBatis概述
mybatis通过xml或注解的方式将要执行的各种 statement配置起来,并通过java对象和statement中sql的动态参数进行映射生成最终执行的sql语句。
Ywrby
2022/10/27
2970
16-MyBatis概述
MyBatis笔记
**API接口:**提供给外部使用的API接口,开发人员使用本地API接口操作数据库。接口层一收到调用请求,就会调用数据处理层进行具体的数据处理。
腿子代码了
2023/12/24
3990
MyBatis笔记
相关推荐
❤️爆肝六万字最全总结Java数据库编程MyBatis(建议收藏)
更多 >
领券
一站式MCP教程库,解锁AI应用新玩法
涵盖代码开发、场景应用、自动测试全流程,助你从零构建专属AI助手
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档