欢迎来到代码驿站!

JAVA代码

当前位置:首页 > 软件编程 > JAVA代码

mybatis返回key value map集合方式

时间:2022-03-03 09:47:11|栏目:JAVA代码|点击:

mybatis返回key value map集合

XML:文件 

<select id="getData" resultMap="userMap" >
    SELECT id,name FROM user        
</select>
 
<resultMap id="userMap" type="java.util.Map" >
    <result column="id" property="key" jdbcType="VARCHAR" />
    <result column="name" property="value" jdbcType="VARCHAR" />
</resultMap>

Service实现类: namespaceXml根据自己xml命名取

import org.apache.ibatis.session.SqlSession;
@Autowired
private SqlSession sqlSession;
public Map<String, String> getBasicInformationOfCompanyPersonnel(String status) throws Exception {
Map<String, Object> params = new HashMap<>();
 
    params.put("status", status); 
    MapResultHandler handler = new MapResultHandler(); 
    Map result = handler.getMappedResults(); 
    sqlSession.select("namespaceXml.getData",params,handler); 
    return result;
}

工具类: 

import org.apache.ibatis.session.ResultContext;
import org.apache.ibatis.session.ResultHandler;
public class MapResultHandler implements ResultHandler { 
    @SuppressWarnings("rawtypes")
    private final Map mappedResults = new HashMap(); 
    @SuppressWarnings("unchecked")
    @Override
    public void handleResult(ResultContext context) {
        @SuppressWarnings("rawtypes")
        Map map = (Map) context.getResultObject();
        // xml配置里面的property的值,对应的列
        mappedResults.put(map.get("key"), map.get("value"));
    }
 
    @SuppressWarnings("rawtypes")
    public Map getMappedResults() {
        return mappedResults;
    }
}

mybatis返回map,key为主键,value为对象

@MapKey("id")
public Map<String,User> getUserByName(String name);

xml中

<select id="getUserByName" resultType = "User">
    select * from user where name=#{param1}
</select>

上一篇:Java swing实现的计算器功能完整实例

栏    目:JAVA代码

下一篇:Java PreparedStatement用法详解

本文标题:mybatis返回key value map集合方式

本文地址:http://www.codeinn.net/misctech/195066.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有