Mybatis自定义SQL语句设置数据以Map形式返回

2022-06-28 14:09:45

最近工作中遇到需要自己通过mybatis写自定义的SQL,为了得到数据能够直接使用,需要让SQL以Map数据格式返回结果集,之前写过的自定义SQL都是直接返回查询到的数据,并没有规定Map类型,所以这次也算是个新体验^_^记录一下吧

1、在Mapper中定义接口

    /**
     * 拓展SQL:查询全部单位信息Map
     */
    @MapKey("id")//用于指定id作为Map中的Key
    Map<Integer,Org> selectAllOrgMap();

2、在mapper对应的xml中拓展SQL

注意:这里千万不要把resultType写成java.util.HashMap,一定要写成能够装orgName的对象的类型

  <!--拓展查询:全部单位信息-->
  <select id="selectAllOrgMap" resultType="cn.com.xxx.manager.dao.entity.Org">
      SELECT id,`name` as `orgName` FROM `account_org`;
  </select>
public class Org{
    private Integer id;
    private String orgName;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getOrgName() {
        return orgName;
    }

    public void setOrgName(String orgName) {
        this.orgName = orgName;
    }
}

3、返回的数据格式

  • 作者:小李小李彬彬有礼
  • 原文链接:https://blog.csdn.net/Peacock__/article/details/90715974
    更新时间:2022-06-28 14:09:45