Java 如何获取地图<;字符串,字符串>;使用mybatis注释作为返回类型

Java 如何获取地图<;字符串,字符串>;使用mybatis注释作为返回类型,java,ibatis,mybatis,Java,Ibatis,Mybatis,使用mybatis中的注释,我们可以将返回类型作为普通映射吗 基本上,我想要这样的东西 @Select("select a, b from tableA") public Map<String, String> getItems(); List[0] -> Map ((key=>'a',value=>1),((key=>'b',value=>'a'))) List[1] -> Map ((key=>'a',value=>2),((ke

使用mybatis中的注释,我们可以将返回类型作为普通映射吗

基本上,我想要这样的东西

@Select("select a, b from tableA")
public Map<String, String> getItems();
List[0] -> Map ((key=>'a',value=>1),((key=>'b',value=>'a')))
List[1] -> Map ((key=>'a',value=>2),((key=>'b',value=>'b')))
List[2] -> Map ((key=>'a',value=>3),((key=>'b',value=>'c')))
Map ((key=>'1',value=>'a'),(key=>'2',value=>'b'),(key=>'3',value=>'c'))
试过这个

@Select("select a, b from tableA")
@MapKey("a)
public Map<String, String> getItems();
@MapKey(a)将返回一个地图,其中包含由


编辑:有趣的结果。还没有尝试使用注释(而是使用映射器),但是看起来它希望映射是
HashMap
,其中someA有一个getter和一个setter来表示“a”(比如getA,setA)。。。您甚至可以使用相同的类(HashMap注释
@Select(“从表a中选择a,b”)
将返回一个映射列表,其中每个映射将包含一个条目。您可以为它编写一个转换器

public Map<Object,Object> mapFromListOfMap (List<Map> listOfMap ) {
  Map<Object,Object> map = new HashMap<Object,Object>();
  for(int i = 0; i < listOfMap.size(); i++) {
    Object key = (Object) listOfMap.get(i).get("a");
    Object value = (Object)listOfMap.get(i).get("b");
    map.put(key, value);
  }
  return map;
}
函数
mapFromListOfMap
将使其类似于

@Select("select a, b from tableA")
public Map<String, String> getItems();
List[0] -> Map ((key=>'a',value=>1),((key=>'b',value=>'a')))
List[1] -> Map ((key=>'a',value=>2),((key=>'b',value=>'b')))
List[2] -> Map ((key=>'a',value=>3),((key=>'b',value=>'c')))
Map ((key=>'1',value=>'a'),(key=>'2',value=>'b'),(key=>'3',value=>'c'))

希望这有帮助:)

以下是我如何做到这一点的,无需额外的方法将列表转换为地图:

这里是消息类

public class Message {
   private String code;
   private String message;
   GETTERS/SETTERS
}
制图员

@Select("SELECT code, message FROM MESSAGES")
@MapKey("code")
public Map<String, Message> selectAllMessages();
@Select(“选择代码,从消息中选择消息”)
@映射键(“代码”)
公共地图selectAllMessages();

不幸的是,创建地图是不可能的

我认为您正在寻找一个转换器不确定什么是转换器。你能简单解释一下吗?谢谢。这正是我现在正在做的。我想知道mybatis是否可以自己归还地图,而不是我们。