我是靠谱客的博主 清秀魔镜,最近开发中收集的这篇文章主要介绍mysql数据库返回Map格式的简单实现,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

数据库返回map格式,找了一下没有找到简单合适的,下面提供两种方式适合初学者

一、resultType = java.util.HashMap

mapper.xml

<select id="getNameAndAge" resultType="java.util.HashMap">
        SELECT name,age from student
</select>

返回的结果是一个个map对象,需要使用list<map>接受,令人蛋疼的是返回来的map是这种格式:student_name(字段名):name,student_age(字段名):age,但是我们希望的是返回一个以name为key,以age为value的map

我在mapper.xml这样写,返回的应该是一个个的【("key","zhangsan"),("value","20")】

<select id="getNameAndAge" resultType="java.util.HashMap">
        SELECT name as 'key',age as 'value' from student
</select>

使用上述这种写法返回的list<map>中,每个列表元素是一个map,每个map里面有两个元素如("key","zhangsan"),("value","20") ,然后遍历取出“key”和“value”即可

public Map<String,Integer> getNameAndAge() {
        final List<Map<String, String>> nameAndAgeMapping = studentMapper.getNameAndAge();
        Map<String,Integer> resultMap = new HashMap<>();
        nameAndAgeMapping .forEach(map->{
            resultMap.put(map.get("key"),map.get("value"));
        });
        return resultMap;
    }

二、resultType = 自定义对象(代码可读性强,推荐)

@Data
public class Student{
    private String studnetName;
    private Integer studentAge;
}
<select id="getNameAndAge" resultType="cn.lihaiyu.po.Student">
        SELECT name as 'studentName',age as 'studentAge' from student
</select>
public Map<String,Integer> getNameAndAge() {
        final List<Student> nameAndAgeMapping = studentMapper.getNameAndAge();
        Map<String,Integer> resultMap = new HashMap<>();
        nameAndAgeMapping .forEach(bo->{
            resultMap.put(bo.getStudentName(),bo.getStudentAge);
        });
        return resultMap;
    }

完结,希望对你有所帮助。

 

 

 

 

 

 

 

最后

以上就是清秀魔镜为你收集整理的mysql数据库返回Map格式的简单实现的全部内容,希望文章能够帮你解决mysql数据库返回Map格式的简单实现所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(50)

评论列表共有 0 条评论

立即
投稿
返回
顶部