ibatis 中关于resultMap="" 在后台如何用map 接收的问题

其中配置文件如下<resultMapclass="java.util.HashMap"id="rMap"><resultproperty="username"column... 其中 配置文件如下
<resultMap class="java.util.HashMap" id="rMap">
<result property="username" column="username"/>
<result property="password" column="password"/>
</resultMap>

<select id="getUserByNameAndPass" parameterMap="pmap" resultMap="rMap">
select * from user where username=? and password=?
</select>

——————————上面是配置文件————————————————
后台代码
Map map=sqlmap.queryForMap(arg0, arg1, arg2);
这3个参数 如何填写
给个例子 谢谢
展开
 我来答
匿名用户
2011-03-12
展开全部
其中 配置文件如下

<!---这段不需要,注释掉--->
<!--
<resultMap class="java.util.HashMap" id="rMap">
<result property="username" column="username"/>
<result property="password" column="password"/>
</resultMap>
-->
<!--这里传入一个map,返回一个map-->
<select id="getUserByNameAndPass" parameterClass="map" resultClass="map">
<!--
#username# ---向map获取键值为username的值
#password# -- 同上
resultClass="map" ——代表返回前台的数据封转为map格式,键值对应和你sql的列名对应,
但是要注意返回后台的是不是键值都是大写了。不同数据库返回的键可能有些都是大写的例如oracle,sqlserver 是sql中的列名
-->
<![CDATA[
select username,password from user where username=#username# and password=#password#
]]>
</select>

public Map getUserByNameAndPass(String username,String password){
//用map封转多个参数
Map params = new HashMap();
params.put("username",username);
params.put("password",password);
//如果定义命名空间的需要加前缀,第一个是你xml配置sql的id,第二个是map参数
Map map=sqlmap.queryForMap("getUserByNameAndPass", params);
System.err,println(map.get("password"));//获得password
//System.err,println(map.get("PASSWORD"));//有些数据库返回的是大写,例如oracle
System.err.println(map.get("username"));//获得username
//System.err,println(map.get("USERNAME"));//有些数据库返回的是大写,例如oracle
return map;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wutian4567268
推荐于2016-02-14 · TA获得超过446个赞
知道小有建树答主
回答量:375
采纳率:50%
帮助的人:186万
展开全部
select * from user where username=? and password=?
==>
select * from user where username=#nm# and password=#pw#

Map map=sqlmap.queryForMap(arg0, arg1, arg2);
==>
Map mp = new HashMap();
mp.put("nm","ss");
mp.put("pw","mm");
Map map=sqlmap.queryForMap("getUserByNameAndPass", mp);
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式