日期:2014-05-16  浏览次数:20541 次

ibatis传入多个参数

一般情况下,我们用ibatis都是传入一个参数,这个参数可以为一个类,一个字符串,一个整型等等,例如:
<select id="selectpw" parameterClass="String" resultClass="String">
            select pwd from userinfo
            where userid=#userid#
        </select>
在方法体里可以用:password = (String)sqlMapClient.queryForObject("selectpw", userid)得到password。
但是有时候我们却想从前面传入两个或多个参数,这时候怎么办呢? -----------------用Map:
在方法体里:我们把多个参数存放在map里,然后在前面获得它:
Map map = new HashMap();
        map.put("userid", userid);
        map.put("name", name);
cardList = (List)sqlMapClient.queryForList("findByName", map);
在SQL语句中:
<select id="findByName" parameterClass="java.util.Map" resultClass="Card">
            select * from cardinfo where userid=#userid# and name like '$name$'
        </select>
这样就可以将多个参数传过去了。