Mybatis中返回Map的实现

 更新时间:2021年03月05日 10:39:14   作者:小鱼吃猫  
这篇文章主要介绍了Mybatis中返回Map的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

在Mybatis中,我们通常会像下边这样用:

返回一个结果

User selectOne(User user);
<select id="selectOne" parameterType="cn.lyn4ever.entity.User" resultType="cn.lyn4ever.entity.User">
    select id,username,telphone from user where telphone=#{telphone} and password = #{password}
  </select>

返回多个结果(其实这个和上边一样,只不过是查询条件的控制而已)

List<User> selectList(User user);
<select id="selectOne" parameterType="cn.lyn4ever.entity.User" resultType="cn.lyn4ever.entity.User">
    select id,username,telphone from user
  </select>

我们只要将上边的resultType改为java.util.HashMap,这会有生成下边这样

Map selectList(User user);
<select id="selectOne" parameterType="cn.lyn4ever.entity.User" parameterType="cn.lyn4ever.entity.User"  resultType="java.util.HashMap">
    select id,username,telphone from user where telphone=#{telphone} and password = #{password}
  </select>

上这结果就是说,以User类的属性名为key,属性值为value。

当然,也可以查出来多条记录,将这个Map放进List中

List<Map> selectList(User user);
<select id="selectOne" parameterType="cn.lyn4ever.entity.User" resultType="java.util.HashMap">
    select id,username,telphone from user
  </select>

但是有时候我们想要这种结果,怎么办呢?

{
 "01":{
 username:"zhangsan",
 telphone:"13000000000"
 }
}

也就是我们要自定义一个Map<String,User>,这样的话,有以下两种解决方法:

1.使用注解

@MapKey("id")
Map<String,User> getUserInMap();
<!--xml和之前写法一样-->
<select id="getUserInMap" parameterType="cn.lyn4ever.entity.User"  resultType="User">
  select id,username,telphone from user where telphone=#{telphone} and password = #{password}
</select>

这个@MapKey的value写的就是User对象的一个属性

2.在xml文件中写上

HashMap<String,Object> getUserInMap();
<select id="getUserInMap" parameterType="cn.lyn4ever.entity.User"  resultType="java.util.HashMap">
SELECT id as 'key', * as 'value', id,username,telphone from user where telphone=#{telphone} and password = #{password}
</select>

当然以上这两种方法,如果查出来是多条的话也会是List的形式

到此这篇关于Mybatis中返回Map的实现的文章就介绍到这了,更多相关Mybatis中返回Map内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 使用Java提取字符串里的xml标签

    使用Java提取字符串里的xml标签

    在Java中,我们经常需要处理XML数据,有时候,我们需要从一个包含XML标签的字符串中提取出这些标签,本文将介绍如何使用Java代码来获取字符串中的XML标签,需要的可以参考下
    2024-12-12
  • Java局部打印效果不同问题解决方案

    Java局部打印效果不同问题解决方案

    这篇文章主要介绍了Java局部打印效果不同问题解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • java时区转换的理解及示例详解

    java时区转换的理解及示例详解

    这篇文章主要介绍了java时区转换的理解及示例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • springboot 整合 seata的配置过程

    springboot 整合 seata的配置过程

    本文给大家介绍springboot 整合 seata的配置过程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2021-08-08
  • Java删除String中空格的多种解决方法汇总

    Java删除String中空格的多种解决方法汇总

    在Java中从字符串中删除空格有很多不同的方法,如trim,replaceAll等,下面这篇文章主要给大家介绍了关于Java删除String中空格的多种解决方法,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-06-06
  • 在非spring环境中调用service中的方法

    在非spring环境中调用service中的方法

    非Spring环境指的是不使用Spring框架来管理和配置应用程序的运行时环境,本文将给大家介绍如何在非spring环境中调用service中的方法,文中有详细实现步骤,需要的朋友可以参考下
    2024-03-03
  • Java简单使用EasyExcel操作读写excel的步骤与要点

    Java简单使用EasyExcel操作读写excel的步骤与要点

    相信现在很多搞后端的同学大部分做的都是后台管理系统,那么管理系统就肯定免不了Excel的导出导入功能,下面这篇文章主要给大家介绍了关于Java简单使用EasyExcel操作读写excel的步骤与要点,需要的朋友可以参考下
    2022-09-09
  • spring boot请求异常处理并返回对应的html页面

    spring boot请求异常处理并返回对应的html页面

    这篇文章主要介绍了spring boot处理请求异常并返回对应的html页面,包括404异常处理和500异常处理,需要的朋友可以参考下
    2017-07-07
  • 详解XML,Object,Json转换与Xstream的使用

    详解XML,Object,Json转换与Xstream的使用

    这篇文章主要介绍了详解XML,Object,Json转换与Xstream的使用的相关资料,需要的朋友可以参考下
    2017-02-02
  • java中的tostring方法的具体用法

    java中的tostring方法的具体用法

    这篇文章主要介绍了java中的tostring方法的具体用法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,下面我们来一起学习一下吧
    2019-06-06

最新评论