Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用mybatis返回填充了多行的HashMap?_Java_Oracle_Mybatis - Fatal编程技术网

Java 如何使用mybatis返回填充了多行的HashMap?

Java 如何使用mybatis返回填充了多行的HashMap?,java,oracle,mybatis,Java,Oracle,Mybatis,我有一个INSTR_路由数据库表,有三列: 我的Java代码是: public Map<String, String> getInstrumentRouting() { return getSqlSession().selectMap(NAMESPACE_PFX + "getInstrumentRouting", "INSTR_INSTANCE_NM"); mybatis我尝试了多种方法,最近的两种是: <select id="getInstrume

我有一个INSTR_路由数据库表,有三列:

我的Java代码是:

    public Map<String, String> getInstrumentRouting() {
    return getSqlSession().selectMap(NAMESPACE_PFX + "getInstrumentRouting", "INSTR_INSTANCE_NM");
mybatis我尝试了多种方法,最近的两种是:

    <select id="getInstrumentRouting" resultType="java.util.HashMap">
    select  INSTR_ROUTING_ID    as irId,
            INSTR_INSTANCE_NM   as instrumentName,      
            LAB_SYSTEM_NM       as destinationName  
    from INSTR_ROUTING
    WHERE INSTR_ROUTING_ID = #{irId, jdbcType=VARCHAR}
</select>
以及:

我所能得到的只是一个空映射{}或一个异常,例如说它找不到java.util.HashMap类型


有人能帮我澄清一下吗?这应该很容易…

我得到了一个简化版本。我将其更改为只获取给定INSTR_实例的一个LAB_系统,而不是加载整个表

<?xml version="1.0" encoding="UTF-8"?>
希望这能帮助别人

<?xml version="1.0" encoding="UTF-8"?>
<select id="getDiInstanceName" resultType="String">
    select LAB_SYSTEM_NM as destinationName 
    from INSTR_ROUTING
    WHERE INSTR_INSTANCE_NM = #{instrumentName, jdbcType=VARCHAR}
</select>
    public String getDiInstanceNameFor(String instrumentName) {
    return getSqlSession().selectOne(NAMESPACE_PFX + "getDiInstanceName", instrumentName);
}