选择“在 ibatis 中使用 hashMap 作为参数类的查询”



我有以下java代码

Map temp=new HashMap();
temp.put("RL_ID",rl_Id);
temp.put("User_Id",user_Id);
temp.put("URI",uri);
getSqlMapClientTemplate().queryForMap("AuditReport",------remaining parameters------);

我想在 ibatis 中访问此地图并在选择查询中检索地图的值。

<select id="AuditReport" resultClass="java.util.HashMap" parameterClass="java.util.HashMap">
Select BIO_RESEARCH_LOCATION_USER.id from BIO_RESEARCH_LOCATION_USER WHERE -----remaining query---------

完成剩余查询和 java 函数的适当方法是什么。

假设BIO_RESEARCH_LOCATION_USER中的列名与您放入 Map 中的参数相同,您需要执行以下操作:

<select id="AuditReport" resultClass="java.util.HashMap" parameterClass="java.util.HashMap">
    Select BIO_RESEARCH_LOCATION_USER.id 
    from BIO_RESEARCH_LOCATION_USER
    WHERE BIO_RESEARCH_LOCATION_USER.RL_ID = #RL_ID#
    AND BIO_RESEARCH_LOCATION_USER.User_ID = #User_ID#
    AND BIO_RESEARCH_LOCATION_USER.URI = #URI#
</select>

如果您不希望在参数周围使用引号,则应使用 $ 而不是 # 。例如,如果您不希望在RL_ID周围使用引号,则需要使用$RL_ID$而不是上面的#RL_ID#

最新更新