概述
数据库返回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格式的简单实现所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复